1

ここに私のデータベース構造があります

https://docs.google.com/open?id=0B9ExyO6ktYcOenZ1WlBwdlY2R3c

私のSQLクエリはそのようになります

SELECT
    u.fullname,
    a.id,
    a.content,
    a.addDT,
    a.`right`,
    acr.score,
    acr.checkDT
FROM
    answers a,
    users u
LEFT JOIN `answer_chk_results` acr ON acr.aid = a.id
WHERE
    a.qid = 7
AND u.id = a.uid
GROUP BY
    a.`right` DESC

エラー メッセージの取得

[Err] 1054 - Unknown column 'a.id' in 'on clause'

a.id 列が存在することは確かです

私は何が欠けていますか?

4

1 に答える 1

1

結合構文とカンマ区切りのテーブル構文を混在させることはできません。左結合する場合は、他の 2 つのテーブルに内部結合を使用する必要があります。

SELECT
    u.fullname,
    a.id,
    a.content,
    a.addDT,
    a.`right`,
    acr.score,
    acr.checkDT
FROM
    answers a
    INNER JOIN users u ON u.id = a.uid
LEFT JOIN `answer_chk_results` acr ON acr.aid = a.id
WHERE
    a.qid = 7
GROUP BY
    a.`right` DESC

これも機能する可能性がありますが、保証されていません。

SELECT
    u.fullname,
    a.id,
    a.content,
    a.addDT,
    a.`right`,
    acr.score,
    acr.checkDT
FROM
    (answers a,
    users u)
LEFT JOIN `answer_chk_results` acr ON acr.aid = a.id
WHERE
    a.qid = 7
AND u.id = a.uid
GROUP BY
    a.`right` DESC
于 2012-09-07T23:55:29.203 に答える