2011-12-04 13 views
3

私は、同じユーザーが以前に回答していない質問を表示する必要があるクイズを作成しようとしています。 したがって、ユーザーがクイズを開始すると、セッションが作成されます。MySQL - 前に返信されていない質問を表示

  • テーブル「質問」があり
    • このテーブルには、すべての質問が含まれています。ここでは

      状況です。一意のフィールドQuestionIdがあります。
    • 質問は常に1から5
  • テーブル「回答」
    • この表は、ユーザによって与えられたすべての答えが含まれていますがありますに区分しています。セッションIDはSessionIdに格納され、回答IDはQuestionIdに格納されます。私は今

      • が質問する前に(そうQuestionId回答されていません
        • カテゴリーID = X
        • から質問を取得することをクエリを探しています

      同じSessionIdを持つAnswersにリストされてはならない)

私自身の試練といくつかのグーグルが助けになりませんでした。誰かが私を助けてくれることを願っています。

ありがとうございます!

答えて

2

これを試してみてください:

select 
    * 
from 
    question 
where 
    categoryid = x and 
    not exists (
     select 
      '1' 
     from 
      answers 
     where 
      sessionid = y and 
      answers.questionid = question.questionid 
    ) 

これは、ユーザーからの答えを持っていないすべての質問が一覧表示されます。結果に「制限」を付けて、必要な場合には1行だけ戻すことができます。

関連する問題