gpt4 book ai didi

sql - 这可以变得更容易吗?

转载 作者:行者123 更新时间:2023-12-02 05:29:43 25 4
gpt4 key购买 nike

有没有更简单的方法来做到这一点?我只想要 6 年中至少有 2 年有收费代码的家庭 - (cy=当年 ly = 去年等)??

Exists (SELECT * FROM ac_ViewMultiHouseholdChargeCodeYearCode AS VMH 
WHERE
aa_Households.HouseholdID = VMH.HouseholdiD and
VMH.ChargeCode = 'Dinner' and
(VMH.ChargeCount_CY > 0 and
(VMH.ChargeCount_LY > 0 or
VMH.ChargeCount_2Y > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_LY > 0 and
(VMH.ChargeCount_CY > 0 or
VMH.ChargeCount_2Y > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_2Y > 0 and
(VMH.ChargeCount_LY > 0 or
VMH.ChargeCount_CY > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_3Y > 0 and
(VMH.ChargeCount_LY > 0 or
VMH.ChargeCount_2Y > 0 or
VMH.ChargeCount_CY > 0 or
VMH.ChargeCount_4Y > 0 or
VMH.ChargeCount_5Y > 0)) or
(VMH.ChargeCount_4Y > 0 and
(VMH.ChargeCount_LY > 0 or
ChargeCount_2Y > 0 or
VMH.ChargeCount_3Y > 0 or
VMH.ChargeCount_CY > 0)))

最佳答案

您可以将其简化为:

where (
(case when VMH.ChargeCount_CY > 0 then 1 else 0 end) +
(case when VMH.ChargeCount_LY > 0 then 1 else 0 end) +
(case when VMH.ChargeCount_2Y > 0 then 1 else 0 end) +
(case when VMH.ChargeCount_3Y > 0 then 1 else 0 end) +
(case when VMH.ChargeCount_4Y > 0 then 1 else 0 end) +
(case when VMH.ChargeCount_5Y > 0 then 1 else 0 end)
) >= 2

关于sql - 这可以变得更容易吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com