【发布时间】:2019-06-08 15:13:11
【问题描述】:
我正在尝试将数据库从 sqlite 迁移到 mariaDB(我从未使用过),但我似乎无法解决这个问题!
当我尝试运行它时,我总是得到 p>
"#1060 - Duplicate column name 'id_document'"
这是查询:
SELECT
a.id_document AS id_document,
id_user_associatedDoc,
id_user_creator,
stage,
title,
goldStandardAnnotationManual,
count(content) AS answer_count
FROM
(SELECT *
FROM Document join DocumentProject
ON Document.id_document = DocumentProject.id_document
WHERE DocumentProject.id_project = 2) a
LEFT JOIN
(SELECT *
FROM Annotation
WHERE Annotation.id_project = 2) b
ON a.id_document = b.id_document
GROUP BY a.id_document;
我不明白为什么我会收到这个错误!你能帮忙吗?
【问题讨论】:
-
此查询在多个方面不正确 1)
SELECT * FROM Document join DocumentProject ON Document.id_document = DocumentProject.id_document WHERE DocumentProject.id_project = 2)列 id_document 出现两次 2) GROUP BY 不匹配SELECT列列表 3) 子查询不是强制性的 -
Select * 不是很有用,因为您只使用 * 的一个子集,而且很难理解大多数列的来源,因为它们没有别名。
-
此外,因为查询有很多问题,我建议您提供表结构 (
SHOW CREATE TABLE <table>)、示例数据和预期结果作为文本格式的数据表.. 我建议您阅读 this -
您可以(并且应该)摆脱“派生”表(子查询)而只需拥有一个
SELECT ... FROM t1 JOIN t2 ON ... WHERE ...