0

私は2つのテーブルを持っています.1つは再利用された質問リスト番号、質問番号を持つ質問を含み、もう1つは回答を含み、質問番号、一意の調査番号、および回答を含み、これらを組み合わせて不足している回答を特定しようとしています.

q.qid と a.question は両方とも質問番号です

q.sid は再利用された質問リスト番号です

a.sid は一意のアンケート番号です

SELECT * FROM question q
LEFT JOIN answers a ON q.qid = a.question
WHERE q.sid=3 AND a.sid =2259
ORDER BY q.qid

問題は、調査 ID 2259 で回答が割り当てられている質問のみを表示するように求めているため、私たちがどのように立っているかです。

しかし、q.sid 3 からのすべての質問をリストし、a.sid = 2259 からの回答を含めたい (ただし、3 の同じ q.sid を使用する a.sid 2260 または 2261 ではありません)。エントリーはありません。

これは可能ですか

4

1 に答える 1

2

WHERE 条件の関連部分を JOIN 条件に移動すると機能します。つまり、sid=2259 の行のみを結合します。

SELECT *
FROM question q
LEFT JOIN answers a ON q.qid=a.question AND s.sid=2259
WHERE q.sid=3
ORDER BY q.qid
于 2012-10-20T09:13:09.997 に答える