2017-06-07 11 views
0

私は2つの列(私の質問に関連する)を持つテーブルを持っています - 会社と製品。 複数の製品を使用している会社に関する情報を提供しています。SQL - 特定のクエリの作成(2つの条件の間で交差)

たとえば、私はMicrosoft Officeを使用しているすべての企業を取得したいと思っていますが、私は条件product = Microsoft Officeでクエリを行います。

今、私の質問 - 2つの製品を使用しているすべての企業を検索するクエリを作成する必要があります。 クエリをどのようにビルドする必要がありますか? 私はおそらくサブクエリを使用するべきだと思いますか? SQLは2つのクエリを実行する必要があるため、それぞれの製品ごとに1つずつ、両方のクエリを交差させて両方のリストにある企業を検索する必要があります。

ありがとう、

+0

サンプルテーブルのデータと期待される結果をすべて追加します。フォーマットされたテキスト(画像ではありません)も同様です。現在のクエリの試行も表示してください。 – jarlh

答えて

1

何の重複がテーブルに存在しない、あなたのような何かをしたと仮定すると:代わりにこれを使用する、2つの特定の製品を使っている人を理解するには

SELECT COUNT(*), <name of the company column> FROM <table name> GROUP BY <name of the company column> HAVING COUNT(*) = 2; 

EDIT を:

SELECT COUNT(*), <name of the company column> FROM <table name> WHERE <name of product column> = '<name of 1st product>' OR <name of product column> = '<name of second product>' GROUP BY <name of the company column> HAVING COUNT(*) = 2; 
+0

また、私は追加する必要があります - prudct = OR OR product = b、そうですか? –

+0

ああ。私は、製品がどれであるかにかかわらず、2つの製品を誰が使用しているかを知りたいと思っていました。 –

+0

ha、申し分なく。驚くばかり!それを理解...ありがとう!私の一般的な知識のために、希望の結果に到達する別の方法がありますか? –

1

トーマスが正しいと2つの製品を追加する:

SELECT 
    COUNT(*), 
    <name of the company column>, 
    <name of the product column> 
FROM 
    <table name> 
GROUP BY 
    <name of the company column> 
HAVING 
    COUNT(*) = 2 
    AND <name of the product column> IN ('product1', 'product2'); 
関連する問題