これは私のクエリの簡略化されたバージョンです。それは問題なくSQLiteで動作しますが、MYSQLでは動作しません。SQL結合クエリの問題
エラー:不明な列 'tab2.key' '句の'
SELECT
tab2.key AS remarksId,
tab1.sessionDate AS date,
tab1.sessionStart AS startTime
FROM
table1 AS tab1,
table2 AS tab2,
table3 AS tab3,
table4 AS tab4
INNER JOIN
table5 AS tab5
ON
tab5.remarkId = tab2.key
WHERE
tab1.userId='<anyNumber>' AND
tab2.objectiveId='<anyKey>' AND
tab1.reportId=tab2.reportId AND
tab1.reportId=tab3.key AND
tab4.key=tab3.sortieId
ORDER BY date, startTime;
`残念ながら何の助けなかったの列を配置します。
'key'列の名前を付けるのが良い方法(MYSQL Keywords)であるかどうかはわかりませんが、これは何らかの形で、既存のインストールによって処理する必要があります。クイックテストでは、「キー」列の名前を変更しましたが、成功もありませんでした。
おかげ
結合表記を混同しないでください。エンジンは、ANSI 89またはANSI 92の両方を処理することはできません。私は、内部結合表記法を使用するために、あなたの表記法を変更することをお勧めします。 – xQbert
なぜ結合タイプを混合していますか? INNER、LEFT、RIGHTなどの 'JOIN'構文のみを使用してください。古いスタイルのコンマ区切りの結合を使用しているのはなぜですか? – ollie
なぜあなたはtab2.keyの別名を(remarksIdとして)作成していて、それを結合でまったく使用していないのですか? – SaggingRufus