我要做的是对同一列使用多个CASE WHEN条件。
下面是我的查询代码:
SELECT Url='',
p.ArtNo,
p.[Description],
p.Specification,
CASE
WHEN 1 = 1 or 1 = 1
THEN 1
ELSE 0
END as Qty,
p.NetPrice,
[Status] = 0
FROM Product p (NOLOCK)
然而,我想做的是对同一列“qty”使用多个WHEN。
如下代码所示:
IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
我有一个类似的,但它是关于日期的。
查询显示所有项目为上个月,工作伟大没有条件直到1月。
为了使其正确工作,需要添加一个年和月变量
declare @yr int
declare @mth int
set @yr=(select case when month(getdate())=1 then YEAR(getdate())-1 else YEAR(getdate())end)
set @mth=(select case when month(getdate())=1 then month(getdate())+11 else month(getdate())end)
现在我只需要将变量添加到condition中:
...
(year(CreationTime)=@yr and MONTH(creationtime)=@mth)
我有一个类似的,但它是关于日期的。
查询显示所有项目为上个月,工作伟大没有条件直到1月。
为了使其正确工作,需要添加一个年和月变量
declare @yr int
declare @mth int
set @yr=(select case when month(getdate())=1 then YEAR(getdate())-1 else YEAR(getdate())end)
set @mth=(select case when month(getdate())=1 then month(getdate())+11 else month(getdate())end)
现在我只需要将变量添加到condition中:
...
(year(CreationTime)=@yr and MONTH(creationtime)=@mth)