2014-10-05 150 views
-2

假設我有列的表格: 名稱和pizzaeaten 現在我希望所有誰吃了這兩種香腸和蘑菇 即不包括那些只吃過辣的那些名字..或者只吃過蘑菇的人。 但只有那些誰吃了這兩種香腸和蘑菇多個值檢查,然後返回SQL

+1

只是一個提示'GROUP BY名HAVING COUNT ...' – Mihai 2014-10-05 18:54:50

+0

什麼,如果他們已經吃了辣香腸,蘑菇,*和*額外的奶酪?如果他們一次在意大利辣香腸,另一個是蘑菇呢? – 2014-10-05 18:55:36

回答

1

你不得不這樣做如下:

SELECT 
    name 
FROM 
    myTable 
WHERE 
    pizzaeaten = 'Pepperoni' AND name in 
    (
     SELECT name from myTable where pizzaeaten = 'mushroom' 
    ) 

子查詢的手段因此,你可以得到的結果同時爲個人pizzaseaten的。

1

使用GROUP BY和HAVING

SELECT name from TableA 
    Where pizzaeaten in ('pepperoni' , 'mushroom') 
    Group by name 
    Having count(distinct pizzaeaten) >= 2 
+1

如果他們吃了兩次蘑菇,請使用DISTINCT披薩。 – Mihai 2014-10-05 18:57:35

+0

@Mhaihai,goo趕上,糾正它 – radar 2014-10-05 19:10:19