0

調査用のテーブルが 2 つあります。表 1 には、SID、SalesRep、Location のフィールドで送信される調査が含まれています。表 2 には、次のフィールドで返される調査結果が含まれています: RID、SID、QID、AID。

表 1 では、SID は一意であり、重複はありません。表 2 では、RID は一意であり、回答される各質問と回答を表します。表 2 の SID は、質問が回答された調査を表します。したがって、調査で 10 の質問に回答した場合、表 2 には同じ SID を持つ 10 行が存在します。

私がしなければならないことは、送信された調査の数と、各営業担当者が受けた調査の数を調べることです。2 つのクエリを使用して、情報を個別に検索できます。

  1. SELECT * FROM テーブル 1
  2. SELECT DISTINCT Table2.SID、Table1.SalesRep、Table1.Location FROM Table2 INNER JOIN Table1 on Table1.SID = Table2.SID

私がやりたいのは、両方の結果を得る 1 つのクエリを用意することです。調査で 100% のリターンが得られないため、Table2 よりも Table1 の結果の方が多いため、何らかの OUTER JOIN が必要になると思います。ただし、OUTER JOIN を実行しようとすると、ロックされて何も返されません。この時点では、これらのテーブルはそれほど大きくありません。

誰かが私を正しい方向に向けることができますか? これは可能ですか?

4

1 に答える 1

2

結果について十分に指定していませんが、私が理解できるように、これが機能することを願っています
SELECT * FROM Table1
WHERE SID IN (SELECT DISTINCT SID FROM Table2)

それがうまくいかない場合は、うまく指定してください

于 2013-10-07T16:04:26.097 に答える