sql - 如何将我的 Excel If 语句转换为 SQL 查询
问题描述
我在将我的 excel if 语句转换为 CASE 子句时遇到了一个小问题。贝娄我已经发布了我当前的 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'
推荐阅读
- r - 对全局变量的变化做出闪亮的反应
- python - 如何从 pymongo 获取最大 objectid
- javascript - 有没有办法在某些方法是异步的 JS 中链接方法?
- c# - 如何修复 C# 中 wpf 项目的“捕获或抛出的类型必须来自 system.exception”错误?
- c# - GetAll groupjoin 填充列表
- ios - Swift:如何从 UITextField 中建议的电话号码自动填充中删除“+”和国家/地区代码
- api - 如何将 Qualtrics 调查集成到我的 Android 应用程序中?
- javascript - 如何从 JQuery .ajax() 中的 javascript 文件返回响应?
- javascript - 如何让 Promise 的 finally() 在 Edge 中工作?
- swift - 如何从变量生成标签名称?(如何将字符串转换为 UILabel)