#1060 - 重复列名'id'

时间:2011-01-27 11:16:05

标签: mysql sql mysql-error-1060

为什么我得到#1060 - 重复列名'id'

SELECT COUNT(*) FROM (SELECT * FROM `tips` `t` LEFT JOIN
tip_usage ON tip_usage.tip_id=t.id GROUP BY t.id) sq

4 个答案:

答案 0 :(得分:30)

可能是因为select *中的*会从tip_usagetips中选择两个具有相同名称的列。

答案 1 :(得分:12)

可能是因为内部选择产生了两列名为id的列。由于您没有使用这些列,因此您只需将选择更改为:

SELECT COUNT(*) FROM (SELECT t.id FROM `tips` `t` 
LEFT JOIN tip_usage ON tip_usage.tip_id=t.id 
GROUP BY t.id) sq 

答案 2 :(得分:2)

您的查询等同于:

SELECT  COUNT(DISTINCT id)
FROM    tips

,没有必要加入。

您确定不想要INNER JOIN吗?

答案 3 :(得分:1)

遇到同样的问题,重命名为select子句救了我

SELECT people.id, vehicle.id ...

我用 AS 关键字将其重命名

SELECT people.id AS person_id, vehicle.id ...