【发布时间】:2017-01-05 15:44:57
【问题描述】:
是否可以避免在 SQL Server CTE 中指定列列表?
我想从具有许多列的表中创建一个 CTE,以便结构相同。可能有一种方法可以在不重新列出每个列名的情况下完成此操作。
我尝试过(不成功):
with pay_cte as
(select * from payments)
select * from pay_cte
msdn 文档中的以下声明鼓舞了我的探索: 仅当查询定义中提供了所有结果列的不同名称时,列名列表才是可选的。
https://msdn.microsoft.com/en-us/library/ms175972.aspx
【问题讨论】:
-
你尝试的时候发生了什么?
-
你知道,用分号结束你的陈述真是个好主意;这不仅是 SQL 标准,也是微软推荐的。特别是,如果您不小心使用分号,就会在
with语法上遇到麻烦。
标签: sql sql-server common-table-expression