0

我有一个包含这些字段的表: phIDProductID

phID是药房 ID,是ProductID产品 ID。

  • 一家药店有多种产品
  • 1 件产品销往多家药店

例子:

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
4

3 回答 3

1

如果你想获得属于特定productID的不同phID,你必须使用DISTINCT ...

  SELECT distinct phID FROM ph_pd WHERE ProductID IN (9,10,11) 
于 2013-03-12T09:09:50.860 回答
1

您可以使用 :

SELECT p.phID , p.ProductID FROM ph_pd p
WHERE (select count(*) from ph_pd where ProductID = p.ProductID) >= 2
ORDER BY ProductID ;
于 2013-03-12T09:21:36.307 回答
0
SELECT  phID
FROM    tableName
WHERE   productID IN (9,10,11)
GROUP   BY phID
HAVING  COUNT(DISTINCT productID) = 2 -- since there are two stores
于 2013-03-12T09:10:55.617 回答