我试图让这个语句来工作,但它说我有错误的“INV.CaseQty = 1”SQL CASE WHEN语句
我想要得到它的逻辑:
when x = 1 then y = 1 else y
CASE WHEN INV.CaseUp = 1 then INV.CaseQty = 1 ELSE INV.CaseQty end
非常感谢大家的帮助
这是我从一个存储过程
select C.CustomerNum, ISNULL(ST.ShiptoNum,'') Shipto, I.InvoiceNum,
DatePart(yyyy,I.InvoiceDate) DeliveryYear,
DatePart(qq,I.InvoiceDate) DeliveryQuarter,
DatePart(MM,I.InvoiceDate) DeliveryMonth,
DatePart(WW,I.InvoiceDate) DeliveryWeek,
CAST(I.InvoiceDate as Date) DeliveryDate, INV.InventoryNum,
IP.InventoryPackageNum, ISNULL(CaseQty, 0) QTYinEach,
ID.Description,ISNULL(IT.Description,'No Type') SubCategory,
CASE WHEN INV.CaseUp = 1 then INV.CaseQty = 1
ELSE INV.CaseQty
end
原TABL SELECT查询Ë
Description CaseQty caseup
Royal 5" Red Stripe Plastic Sip Stirrer 1000 1
Ecoproducts Plant Starch Knife 1000 0
Ecoproducts Plant Starch Fork 1000 1
Ecoproducts Plant Starch Spoon 1000 0
我想从我的存储过程的SELECT查询能够改变那些CaseUp = 1,CaseQty应该变为1为好。
你想达到什么是它的select语句?发布完整的查询以获得合适的答案 –
是的,我想在select语句中使用它,所以如果我要执行IF语句,我不能将它放在select语句中。我只能使用CASE。我如何解决这个问题? – kate
发布您的选择查询以显示您想要达到的效果或查询后至少可以查看表格数据和结果数据以了解您的要求 –