有问题收到错误信息[ERR] 1060 - 重复列名 'ID'与MySQL声明
SELECT c.id, c.name, COUNT(all.id) 'All',
COUNT(unanswered.id) 'Unanswered',
COUNT(unchecked.id) 'Unchecked'
FROM courses c
INNER JOIN courses-lessons cl ON c.id = cl.cid
INNER JOIN questions all ON cl.id = all.lid
INNER JOIN
(
SELECT *
FROM questions
WHERE id NOT IN (SELECT qid FROM answers)
) unanswered ON cl.id = unchecked.lid
INNER JOIN
(
SELECT *
FROM questions q
INNER JOIN
(
SELECT *
FROM answers
WHERE id NOT IN (SELECT aid FROM answer_chk_results)
) a ON q.id = a.qid
) unchecked ON cl.id = unchecked.lid
GROUP BY c.id, c.name
我缺少什么?找不到有什么问题。
UPDATE
数据库结构
https://docs.google.com/open?id=0B9ExyO6ktYcOenZ1WlBwdlY2R3c
更新问题。请检查出 – heron
基本上,摆脱每个'*',用特定列替换(和别人说的一样,不要用ALL作为别名) – KrustyGString