2016-11-11 17 views
2

私は1つのテーブルを持っています。別のクエリのすべての結果に表示される項目を選択してください。

この表には、2つのフィールド、プロダクトIDとストアIDがあります。多くの異なるストアIDを持つ同じ製品IDが存在する可能性があります。

私はすべての店舗で共通の商品(もしあれば)を見つける必要があります。

正しいクエリを作成するのに問題がありますか?

+0

http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-veryを参照してください。 -simple-sql-query – Strawberry

答えて

1

を訴えることができTABLENAMEHERE

+1

それは仕事をしました。ありがとうございました。 –

+0

あなたは大歓迎です。 –

0

しかし、これが機能するかどうかわからない私はあなたが多くの、より良い答えを得るだろうと確信していますが、明確な句の逆を欠けているように聞こえる:

は[PRODUCT_ID] DISTINCTないように選択 FROMあなたは、カウント(明確なのproductID)

select productID 
    from my_table 
    group by productID 
    having count(distinct productID) = ( 
       select count(distinct store) 
       from my_table) 
+0

これは動作しません。ただ実現しました。 –

+0

SELECT ProductIDFROM Customers WHERE EmailAddress IN (SELECT EmailAddress FROM Customers GROUP BY EmailAddress HAVING COUNT(*)> 1) –

+0

ポストになることを拒否するには、次のリンクをクリックしてください:http:// stackoverflow .com/questions/13146304/how-to-select-every-row-where-column-value-not-distinctです。ここから完全な回答が得られます: SELECT ProductID FROM Tablename WHERE ProductID IN (SELECT ProductID FROMテーブル名GROUP BY ProductID HAVING COUNT(*)> 1) –

0

あなたは、製品IDとカウント個別の店舗のIDを確認することができます。個別のStore IDが、必要な製品IDとなる合計ストア数と等しい場合。

SELECT productID, count(DISTINCT StoreID) as stroes FROM [Table name] GROUP BY productID 
HAVING COUNT(DISTINCT StoreID) = (SELECT COUNT(DISTINCT StoreID) FROM [Table name]); 
関連する問題