だから、私はこのMySQLの問題を抱えています。
私はLEFTJOIN、INNER JOINなどを見てきました。そして、私が理解しているように、LEFT JOINは左から結合し、右の部分が存在しない場合、その値はNULLに設定されます。また、INNER JOINを使用すると、結合に一致するものがない場合、空のセットが返されます。
前のステートメントからわかるように、試合に参加したユーザーの1人のさまざまな統計などに参加します。しかし、uid2がuid1と友達ではない場合、私の場合、友達のすべてのフィールドでnullが発生します。*
友達が友達で、友達がいない場合は、友達のフィールドをすべて取得するにはどうすればfriends
よいですか。(彼らが友達かどうかを確認する前に、別のステートメントを実行したくありません)。
これは私の以前のstatemenetです:
SELECT matches.*, statistics.*, friends.*, users.username
FROM `matches`
LEFT JOIN statistics ON matches.uid1=statistics.uid
LEFT JOIN users ON matches.uid1=users.uid
LEFT JOIN friends ON matches.uid1=friends.fid AND matches.uid2=friends.uid
WHERE matches.mid IN (269,231,131)