2011-01-24 4 views

答えて

2

FROMテーブルリストとJOINsは、クエリのWHERE句の前に来る必要があります。

クエリの残りの部分が正しかったかどうかは知りませんが、これはそれが正しい順序である:クリーンアップ

SELECT id_maestro, nombre, materia 
FROM maestros_detalle AS t1 
LEFT JOIN (SELECT id, up, down FROM maestros) AS t2 ON t1.id_maestro = t2.id 
WHERE MATCH (t1.nombre, t1.materia) 
AGAINST ('quimica' IN BOOLEAN MODE) 
ORDER BY t1.id_maestro 

SELECT 
    t1.id_maestro, 
    t1.nombre, 
    t1.materia, 
    t2.up, 
    t2.down 
FROM 
    maestros_detalle t1 
LEFT JOIN 
    maestros t2 
ON 
    t1.id_maestro = t2.id 
WHERE 
    MATCH(t1.nombre, t1.materia) AGAINST ('quimica' IN BOOLEAN MODE) 
ORDER BY 
    t1.id_maestro 
+0

クエリが動作するようになりましたが、それことid_maestro、nombre、materiaだけを示しています。私の '上'と '下'はどこに行きましたか? – Danny

+1

あなたは上または下を選択していません。あなたの 'SELECT'リストにt2.up、t2.downを追加してください。私はサブクエリの理由を実際に理解していないので、私はそれを表示するために私の投稿を編集するつもりです。 –

+0

ありがとうございました、そのクエリは現在完全に動作しています、今私はそれを理解しようとします。 – Danny

関連する問題