0

私は2つのテーブルを持っています.1つはユーザーに対して行われた質問でいっぱいで、もう1つはすべてのユーザーに対して行うすべての質問でいっぱいです.私は質問を選択したいと思います.特定のユーザーに送信されました...つまり:


id最初のテーブルには 、 の 3 つのフィールドがありquestioniduseridその名前はuserQuestions

otehr テーブルが呼び出されquestions、2 つのフィールドがあります。

`qid` and `qText`

もちろんqid=quesionid

userid提示されていないすべての質問を選択するにはどうすればよいuseridですか?

私が持っていると仮定しましょう:

`qid` = 1 , `qtext` = 'qtext1'
`qid` = 2 , `qtext` = 'qtext2'
`qid` = 3 , `qtext` = 'qtext3'

そして他のテーブルで:

id= 1, questionid= 1, userid= 90

qidしたがって、この架空の SELECT は= 2 qid= 3を返すはずです

説明で分かりやすかったと思います...

4

2 に答える 2

3
SELECT * FROM questions WHERE qid NOT IN(SELECT questionid FROM userQuestions WHERE userid = 90);

些細でシンプルです

于 2013-01-08T14:01:19.650 に答える
2

これを試して:

SELECT Q.qid
FROM questions Q
 LEFT JOIN userQuestions U
   ON Q.qid = U.questionid
 WHERE Q.userid = <user ID>
     AND U.id IS NULL
于 2013-01-08T14:02:37.900 に答える