【发布时间】:2013-05-22 09:09:53
【问题描述】:
如果我使用通配符从表中选择所有列,是否可以在返回的列中包含表名?
进一步解释。假设我想连接两个表,并且两个表都有列名“name”和许多其他列。我想使用通配符来选择所有列,而不是在选择中明确指定每个列名。
Select *
From
TableA a,
TableB b
Where
a.id = b.id
我可以编写一个 sql 以将一个列名称作为“a.name”(或 TableA.name)返回一个作为“b.name”(或 TableB.name)而不是看到两个具有相同名称“name”的列) 没有明确地将列名放在选择中?
我更喜欢 mssql 的解决方案,但其他数据库也可以作为参考。
谢谢!
【问题讨论】:
-
不,您需要明确使用列别名。在生产代码中使用
*无论如何都是不好的编码风格。 -
谢谢 a_horse_with_no_name。我只是在我的 dbartisan 上做一些随意的 sql 选择,如果可行的话突然梦想,但似乎它只会留在我的梦想中 :)