我有2個表 - CATEGORY
和ITEM
在SQL Server 2008中匹配兩個表使用T-SQL
CATEGORY
表有2列:Category
和Group_Name
ITEM
表有幾列,但感興趣的列是Category
,Group_Name
和Item_Name
類別表:
Category GroupName
-----------------------
C1 Electronic
C1 Food
C1 FMCB
C2 foo
C2 bar
項目表:
Category GroupName ItemName
---------------------------------
C1 Electronic Phone
C1 Food Noodles
C1 ALL_GROUPS Junk
C2 foo xyz
我的要求是:
在
ITEM
表組中的每個記錄應該有一個確切的組匹配與group_name
inGROUP
表另外,假設一個
Category
有3個組,比如A,B,C。ITEM
表只有一個組A具有匹配條目,但只要具有組「ALL_GROUPS」的另一條記錄存在,就可以。
在該示例中,在項目表1類別是確定的,因爲它具有「ALL_GROUPS」,但對於第2類,組「酒吧」缺失。
我寫了下面的查詢,但要求不完全滿意:
SELECT *
FROM CATEGORY A
WHERE NOT EXISTS (SELECT 'X'
FROM ITEM B
WHERE A.Category = B.Category
AND (A.GROUP_NAME = B.GROUP_NAME
OR A.GROUP_NAME = 'ALL_GROUPS')
)
任何幫助嗎?
TIA
-----增加了表格和我的要求的'實際'屏幕截圖。紅色突出顯示的行應實際上是由預期的查詢
表稱爲'GROUP' ???你是認真的嗎? –
只是爲了說明:) – NetTechie
你想要結果集看起來像什麼? – SQLChao