わかりました、これは説明するのが難しいです...
私は次のテーブルを持っています:
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_set にあります。word_progress (特定の単語のスコアを保持します) は、user_id と word_id に関連しています。
問題は、user_id と word_id の word_progress にエントリがない場合があることです。しかし、そこにある場合は、クエリの WHERE 部分で word_progress を使用できるようにしたいと考えています。しかし、そこにない場合はいけません。現時点での私の回避策は、ステートメントを実行する前です。「IGNORE IF EXISTS を work_progress (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エントリがない場合があることです
これどうやってするの?