2012-03-06 89 views
-2

我有一個表格,其數據如下。查詢選擇具有一對多關聯的項目

Name Product 
Ram Acer 
Indu Sony 
Indu Acer 
Rahul Sony 
Divya Acer 
Divya Dell 

現在我想要選擇具有宏基和索尼產品的名稱的查詢。

結果應該只是Indu

+3

我不知道爲什麼會有答案的這些樣question.i的叫這個勺子餵養 – joshua 2012-03-06 11:22:39

+0

你的歡迎夥伴。但它不是個人的 – joshua 2012-03-06 11:47:03

+0

你知道嗎,我很抱歉。我不應該採取它個人或者.. – user1087661 2012-03-06 11:52:52

回答

2
select Name 
from your_table 
where Product in ('Acer', 'Sony') 
group by Name 
having count(Product) > 1 

如果您在同一時間尋找,甚至更多的產品,那麼你必須增加你數數:

where Product in ('Acer', 'Sony', 'Dell') 
... 
having count(Product) > 2 
+0

真棒:)非常感謝... – user1087661 2012-03-06 11:35:35

0

這將選擇所有具有產品BOTH名稱在ACERSONY

SELECT DISTINCT Name 
FROM tableName 
WHERE Product = 'Acer' AND 
     Name IN (SELECT Name 
       FROM tableName 
       WHERE Product = 'Sony') 
+0

這是給更多的結果,OP想要:拉姆。 Divya,Indu,Rahul。 – 2012-03-06 11:26:41

+0

嗨,約翰,可能你誤解了這個問題..我想要查詢選擇誰買了宏基和索尼的傢伙。你目前的查詢給誰買了索尼或宏碁的結果......糾正我,如果我錯了...... – user1087661 2012-03-06 11:28:10

+0

@juergend這就是爲什麼我更新了答案。 – 2012-03-06 11:31:04