にnullである:右が参加する場合は、左のテーブルのフィールドを取得しますが、私はこのクエリ持っているMySQLの
SELECT
a.nombre,
a.apellidos,
p.nombre AS prueba,
IF(r.puntuacion IS NULL, 0, 1) AS prueba_realizada,
r.puntuacion,
r.id
FROM alumnos a
LEFT JOIN resultados r ON r.alumno_id = a.id
RIGHT JOIN pruebas p ON p.id = r.prueba_id
を、私はこの結果を持っている:
は私が取得する必要があり、「ノンブル」としクエリーの目的は、ユーザーが行っていないすべての "プルーベア"を取得することと、既に行っているプルーベアを取得することであるため、 "alumnos"テーブルの右ジョインの結果の "apellidos"フィールド。
私は間違っているの?ここで
は、DBスキーマこれはあなたが右のpruebasに参加できます何の行を持っていない
予想される出力がどのように表示されるか表示できますか?すべてのテストと学生がいますか? – clinomaniac
私は予想された結果で投稿を更新しました。私は学生のためのすべてのテストを返したいと思います。 – viher
まだ取られていないテストの名前を得ることはできません。クロスジョインを使用して名前とテストのすべての組み合わせを取得できますが、テストが行われていないため、複雑な操作をせずに最後の行を実行することはできません。それからすべての行が必要なので、pruebasテーブルから始めて、卒業生とのCROSS参加を試みます。 – clinomaniac