如何处理多表同名列()

有如下三表
tableA有列名:ID,NAME1,DE,USERID(主表)
tableB有列名:ID,PHONE,DE,USERID
tableC有列名:ID,EMAIL,DE,USERID
现:
select * from tableA A
inner join tableB B on B.UserId=A.Id
inner join tableC C on C.UserId=A.Id
where A.Id=1
结果是:
ID,NAME1,DE,USERID,ID,PHONE,DE,USERID,ID,EMAIL,DE,USERID
问题是:
三个表中均有同名DE列,如果区分它们,并提取其各自数据?谢谢
(难道一定要SELECT *,A.DE AS ADE,B.DE AS BDE,C.DE AS CDE....,因为有六表,想尽量简化)

作者: picasso2   发布时间: 2011-06-13

只能分别取别名

作者: fredrickhu   发布时间: 2011-06-13

啊。。那可真要命。。

作者: picasso2   发布时间: 2011-06-13

楼主不用AS,想用AXX=XX吗,

作者: just4   发布时间: 2011-06-13

楼上的小样,俺决定不给你发分。。哼。。

作者: picasso2   发布时间: 2011-06-13

同名列不取别名的化是无法区分的

作者: cd731107   发布时间: 2011-06-13

好好,既然大家都这么说,那我就照着做吧。

作者: picasso2   发布时间: 2011-06-13

如果是相同的字段(主外键关系)只需要取一个表里的即可,取多了没意义
如果不是相同的字段,建议建表的时候考虑使用不同的字段名称,以免带来不必要的困扰

作者: FlySQL   发布时间: 2011-06-13

相同的字段都有不同的数据的。建的时候建同名的,现在就取个别名算了。

作者: picasso2   发布时间: 2011-06-13

貌似没有什么好办法

作者: chuanzhang5687   发布时间: 2011-06-13

取别名

作者: rucypli   发布时间: 2011-06-13