MySQLクエリ(バージョン5.6.37)に問題があります。私はそれが単にクエリコンポーネントの再編成を必要とすると思うが、私はそれを動作させることはできない。空のMySQL連結結合がクエリの失敗を引き起こす
問題:私のJOINが行を返さないとき、データがクエリと一致しても、クエリ全体が行を返しません。ここで
は私の現在のクエリである(ここで、 '@' が入力される):id | pet
1 | cat
2 | dog
3 | fish
4 | snake
5 | rabbit
そして、JOINした "petData" の表のように:
SELECT pets.id,pet,collar,GROUP_CONCAT(petData.fleas) AS f_id
FROM titles
JOIN petWear ON pets.id = petWear
JOIN petData ON petWear.id = petData.id
WHERE pets.id = '@'
GROUP BY pets.id,pet,collar
は、このような "ペット" のテーブルを想定すると、この:
id | fleas
1 | 1
1 | 2
1 | 3
1 | 4
2 | 5
成功したクエリ: @ = 1、その後、クエリは単一の結果を返す場合:
id | pet | collar | f_id
1 | cat | gold | 1,2,3,4
失敗クエリ: は@ = 5場合は、クエリが結果を返しません。私はpetWearテーブルが含まれている
id | pet | collar | f_id
5 | rabbit | red |
注:私は戻ってきたいと思い何
(@ =のためには、5)(「F_ID」のすなわち結果なし、またはNULL、)この単一の結果であります「通常の」結合もまた画像の一部である必要があると述べるために、「襟」のリストを使用します。
LEFT OUTER JOIN petData'を試しましたか? –
また、何をしようとしているのかを明確に説明してくれてありがとう! –
ありがとう、BillとJovi。私は毎日SQLを使用せず、別のJOIN *タイプを指している*私は15年間で読んだことのないマニュアルの一部を再読み込みしました! 'JOIN petData'を' LEFT JOIN petData'に変更することは私が必要としていたものでした。ご協力いただきありがとうございます。 – Parapluie