我想使用select *来选择表中的所有字段,但我也想在一个字段上使用别名。可能吗?如果是这样,语法是什么。选择*与特定的别名[语法]
例
select *,
item1 as hats
from factory
我一直没能做出这样的事的工作,谢谢!
我想使用select *来选择表中的所有字段,但我也想在一个字段上使用别名。可能吗?如果是这样,语法是什么。选择*与特定的别名[语法]
例
select *,
item1 as hats
from factory
我一直没能做出这样的事的工作,谢谢!
我只是想
select *, item1 as hats from factory
在MySQL和Postgres和两个DBMS运行良好。只有考虑到你会得到两个带有item1的列。一列名为item1,另一列名为帽子。
是否可以删除重复? – tylercomp 2011-06-16 23:09:14
你正在使用哪个DBMS? (请标记) – Hyperboreus 2011-06-16 23:17:31
嗯,我不知道它为什么没有工作我正在使用SQL Server 2007我认为无论现在它的一切都好现在谢谢!重复没有实际意义,可能实际上应该在事后回想起我的问题 – tylercomp 2011-06-16 23:22:22
是的,可以使用该格式,但不推荐使用Select *
。列举你想要的列是最好的。如果与别名列结合使用的列列表会生成重复的列名称,则某些数据库产品可能会出现问题。但是,您可以通过枚举列来解决此问题。
这应该工作,但请记住,您的item1列将是重复!假设你的表有列(id,item1,item2),那么你的建议选择将返回(id,item1,item2,帽子)。
它在MS Sql Server
也是有效的,但你alias'ng的列将被复制。 在Sql server 2005中尝试了查询,它确实起作用。
select *,col2 as 'customcol' from table1
您不需要命名所有字段。 OP的语句是有效的,因为'select col1,col2 as mycol from mytable'至少在我知道的所有SQL实现中。 – Hyperboreus 2011-06-16 23:08:42