あるとき、私はOK、これは説明するのは難しいです、そのフィールドにWHEREを使用したい...MYSQL - 私は時々、フィールドが存在しませんが、いくつかの行を選択したいが、それはそこに
table : words
table: word_progress
table: word_set
foreign keys:
words.id = word_set.word_id
word_progress.word_id = words.id
word_progress.user_id = users.id
基本的に単語は単語セットに含まれています。 word_progress(特定の単語のスコアを保持する)はuser_idとword_idに関係します。
user_idとword_idのword_progressに問題があることがあります。それがそこにあるとき、私は質問のWHERE部分でword_progressを使用できるようにしたいと思います。それがなければ私はしません。現時点では周りの私の仕事は、私は「IFはwork_progressにEXISTS IGNORE挿入(word_id、USER_ID)の値(?、?)は、」その存在
は、私はこのクエリを持っていることを確認するために行うのステートメントを実行する前に、ある
select
words.* ,
word_progress.progress from words
left join word_progress on word_progress.word_id = words.id
left join word_set on word_set.id = words.word_set_id
where word_set.id = ? and word_progress.user_id = ?
けど...問題は時々その言葉私はこれを行うことができますどのように
にはword_progressエントリが存在しないのですか?
JOIN基準の一部として 'word_progress.user_id =? 'を入力できませんか? –
特定の行のフィールドに利用可能なデータがない場合、NULLを取得するだけです。 –