如何将我的Excel If语句转换为SQL查询

问题描述 投票:0回答:1

我有一个小问题,将我的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
sql if-statement case where where-clause
1个回答
0
投票

你问的问题并不是很清楚。你想用IF声明以某种方式限制记录吗?

case可能看起来像这样:

where case 
        when PT='SS' then 'S'
        when PD in ('AC', 'CS', 'CA') then 'S'
        else ' '
      end  = 'S'
© www.soinside.com 2019 - 2024. All rights reserved.