【发布时间】:2011-01-06 21:25:16
【问题描述】:
我有一个表,其中包含一个名为 ChannelId 的字段。我想根据值将其分成两个字段。我试过这个:
SELECT CustomerId, ChannelId = 1 as Chan1, ChannelId = 2 as Chan2 FROM ....
目标是我有两个布尔列来表示 ChannelId 字段是否具有适当的值。我收到语法错误。
查看 SQL 语法,我看不出有什么理由不能使用表达式,然后将其别名为新列名,但 SQL Server 对它嗤之以鼻。我做的事情真的很愚蠢吗?怎样才能达到这个效果?
【问题讨论】:
-
我不明白这个问题。如果列中只有两个值,为什么不将值作为列返回?你想在列上执行一些聚合吗?比如说计算每个值出现了多少次?
-
否,重新格式化数据以输入到不同的进程。
-
我认为您需要创建两个松散查询(或通过子查询)。 SQL 的诀窍不是在
SELECT部分提出问题,而是在WHERE部分提出问题。
标签: sql-server tsql select