0

これらのフィールドを含むテーブルがあります: phIDProductID

phID薬局IDであり、ProductIDは製品IDです。

  • 1つの薬局に複数の製品があります
  • 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 に答える