【发布时间】:2013-12-01 13:39:06
【问题描述】:
嘿嘿,
我需要有关 SQL Server 中的 case when 语句的帮助。
基本上,我得到了三个产品,当总和等于2时,我希望它被计为1,否则为0。我想知道逻辑是用这段代码编写的还是可以改进的?
当 sum(hase=1 OR hasd=1 OR hasf=1)=2 then 1 else 0 end as Xavc的情况
我用这段代码尝试的是:客户可能没有所有三种产品,但是,如果他有两种产品或三个三个,那么它等于 2,计数为 1。
【问题讨论】:
-
语法错误。如果您使用 sum 函数,则必须将数字相加。你的问题也不清楚。你想看看总和何时等于 2。总和是什么?
-
我想对它进行分类。我买了三个产品。如果他们只有 3 个产品中的 1 个,那么 Z 类型。如果他们得到了 3 个产品中的 2 个,那么 sum=2 并且他们是客户 C。
-
在这种情况下,SchmitzIT 似乎提供了正确的答案。
标签: sql sql-server case