连接使用我有这两个表:MySQL的问题与工会/结合
表作者:
ID (INTEGER),
author_name (VARCHAR),
first_name (VARCHAR),
last_name (VARCHAR),
preferred_name (VARCHAR)
表合着:
ID (INTEGER)
author1ID (INTEGER),
author2ID (INTEGER),
paper_ID (INTEGER) // (ID of the co-authored paper referenced by this link)
正如你可以看到,这两个表有一个'ID'列,但它们不相关。
然而,当我使用这个查询:
select author_name, count(*) as NumPapers from
(select * from Author as a join CoAuthored as c on a.ID = c.author1ID
union distinct
select * from Author as b join CoAuthored as d on b.ID = d.author2ID) as t1
group by author_name
order by NumPapers;
MySQL的gves我一个错误说:ERROR 1060 (42S21): Duplicate column name 'ID'
为什么会出现这种情况,如何避免呢?
这摆脱了这个问题,但现在NumPapers始终返回1.这是为什么?我使用了Will A的解决方案,并且保留了我的工会,而且它似乎工作正常。 – 2010-10-24 23:05:56