别名与列名相同

时间:2012-03-20 12:07:54

标签: sql-server

在sql server 2008中,别名与列名相同,因此收到错误列已多次指定。

我无法更改应用程序中断的别名

2 个答案:

答案 0 :(得分:2)

您已发布两列别名。

a.published,

CASE a.type
WHEN N'component' THEN a.published+2*(e.enabled-1)
WHEN N'url' THEN a.published+2
WHEN N'alias' THEN a.published+4
WHEN N'separator' THEN a.published+6 END AS published,

答案 1 :(得分:1)

您不能返回具有相同别名的两列。每列必须具有唯一的名称。

如果您需要返回 BOTH a.published以及CASE逻辑的结果,则需要为其中一个提供不同的名称。

调用应用程序将要求“已发布”列,您希望将它们作为“已发布”给出什么?至于另一件事,他们必须知道以不同的名字要求它。