我已经回答了我的问题,但没有在这里看到它,所以我们走了。如果被问到确切的话,请随时链接到问题。 我将我的问题简化为以下代码:
SELECT 'a' AS col1, 'b' AS col1
这会给出相同的列名错误吗?
是否总是返回最后一个值,或者col1可能是'a'吗?
答案 0 :(得分:3)
我不确定你为什么会想要这个,但是我在Oracle(10g)中尝试了它并且它工作正常,返回两列。我意识到你已经特别询问过SQL Server,但我觉得这很有意思。这个很有用。
编辑:它也适用于MySQL。
答案 1 :(得分:2)
在SQL 2008 r2
中,它作为独立查询有效。在某些情况下,它会产生错误(不完整的清单):
内联视图
公用表条目
报告服务使用输出时的存储过程,可能是类似的集成工具
很难想象你会想要重复行名称的情况,并且很容易想到现在用重复编写查询的方式可能在将来变坏。
答案 2 :(得分:2)
它适用于最终查询:
但是,如果在子选择中执行此操作并在外部查询中引用不明确的列别名,则会收到错误: