我有一个包含这些字段的表格:
phID
,ProductID
phID
是药房ID,ProductID
是产品ID。
示例:
phID ProductID
-----------------
1001 9
1001 10
1001 11
1004 9
1004 12
1004 14
1004 11
我想要的查询是这样我可以获得具有相同产品的所有phID
。
我有这个问题:
SELECT phID, ProductID
FROM ph_pd
WHERE ProductID IN (9,10,11)
我希望结果是
1001 9
1004 9
1001 11
1004 11
或只是
1001
1004
答案 0 :(得分:1)
如果你想获得属于某个productID的不同的phID,你必须使用DISTINCT ......
SELECT distinct phID FROM ph_pd WHERE ProductID IN (9,10,11)
答案 1 :(得分:1)
您可以使用:
SELECT p.phID , p.ProductID FROM ph_pd p
WHERE (select count(*) from ph_pd where ProductID = p.ProductID) >= 2
ORDER BY ProductID ;
答案 2 :(得分:0)
SELECT phID
FROM tableName
WHERE productID IN (9,10,11)
GROUP BY phID
HAVING COUNT(DISTINCT productID) = 2 -- since there are two stores