我有一个小问题,将我的excel if语句翻译成CASE子句。 Bellow我已经发布了我当前的SQL语句和我试图适应的IF语句。理想情况下我希望它坐在Where子句中,但如果我需要另一个列,我会接受它。以粗体突出显示的是不同的标题。
由于我的where子句的设置方式,这意味着我只得到一半的结果
IF声明是=IF(PD="AC","S",IF(PD="CS","S",IF(PD="CA","S",IF(**PT="SS","S"," ")**)))
当前的SQL
SELECT
AEOrdersReceivedCurrentQuarter.`Order Company`
, AEOrdersReceivedCurrentQuarter.`Sop Order Number`
, AEOrdersReceivedCurrentQuarter.`Order Date`
, AEOrdersReceivedCurrentQuarter.`Order Method`
, AEOrdersReceivedCurrentQuarter.`Payment Method`
, AEOrdersReceivedCurrentQuarter.`Product Type`
, AEOrdersReceivedCurrentQuarter.`Product Sub Type`
, AEOrdersReceivedCurrentQuarter.`Product Description`
, AEOrdersReceivedCurrentQuarter.`Quantity Ordered`
, AEOrdersReceivedCurrentQuarter.`Product Item Value`
, AEOrdersReceivedCurrentQuarter.`Order Count`
, AEOrdersReceivedCurrentQuarter.`Order Item Narrative`
, AEOrdersReceivedCurrentQuarter.`Product Group`
, AEOrdersReceivedCurrentQuarter.`Product Category`
FROM AEOrdersReceivedCurrentQuarter.csv AEOrdersReceivedCurrentQuarter
WHERE
CASE WHEN AEOrdersReceivedCurrentQuarter.`Product Type` = 'Studio Services' THEN 'Studio Services'
CASE WHEN AEOrdersReceivedCurrentQuarter.`Product Description` IN ('Artwork Charge','Creative Services','Creative Agency','Studio Services') THEN 'Studio Services'
ELSE ' '
End
你问的问题并不是很清楚。你想用IF
声明以某种方式限制记录吗?
case
可能看起来像这样:
where case
when PT='SS' then 'S'
when PD in ('AC', 'CS', 'CA') then 'S'
else ' '
end = 'S'