sql - CASE 中的多重条件
问题描述
我想创建一个可以使用 CASE 选择多个条件的查询。我有以下查询,当窗口数量超过 0 时总和,但是当我组合创建“Windows_multiple”时不起作用。当有不止一种类型的窗口时,它是多重的。
Select
SUM(CASE when h.number_of_windows_b > 0 then h.hh_weight end)/15 as Windowsb_only,
SUM(case when h.number_of_windows_c > 0 then h.hh_weight end)/15 as Windowsc_only,
SUM(case when h.number_of_windows_o > 0 then h.hh_weight end)/15 as Windowso_only,
上面的代码有效,但是当我尝试创建一个查询时,总和 h.number of windows when are multiple 我没有得到预期的输出。我正在使用以下查询:
SUM(CASE when h.number_of_windows_b > 0 AND (h.number_of_windows_c > 0 OR h.number_of_windows_o > 0)
then h.hh_weight )/15
when h.number_of_windows_c > 0 AND (h.number_of_windows_b > 0 OR h.number_of_windows_o > 0)
then h.hh_weight )/15
when h.number_of_windows_o > 0 AND (h.number_of_windows_b > 0 OR h.number_of_windows_c > 0)
then h.hh_weight end)/15 as Windows_Multiple
解决方案
这回答了问题的原始版本。
你可能只是过早end
的s:
SUM(CASE when h.number_of_windows_b > 0 AND (h.number_of_windows_c > 0 OR h.number_of_windows_o > 0)
then h.hh_weight / 15
when h.number_of_windows_c > 0 AND (h.number_of_windows_b > 0 OR h.number_of_windows_o > 0)
then h.hh_weight / 15
when h.number_of_windows_o > 0 AND (h.number_of_windows_b > 0 OR h.number_of_windows_c > 0)
then h.hh_weight / 15
END) as Windows_Multiple
推荐阅读
- flutter - 有没有可能的方法来实现(照片+视频)编辑器?
- python - 错误:使用 ACTIVE 的“'Listbox' 对象不可调用”
- java - 如果我删除 int 和 number 之间的点,为什么会出现错误?
- javascript - 如何使用谷歌地图设置集群的数量?
- python - 如何获取 YouTube 视频上传日期?
- android - 如何将双模蓝牙(BREDR 和 LE GATT)连接到同一设备
- node.js - 静态 css 显示在哈巴狗中
- python - 如何将附加参数传递给 youtube-dl 的函数“my_hook”
- android - 如何检查我的颤振应用程序是否正确设置了 firebase_messaging 推送通知
- django - 您可以使用 id_fieldname 从 django 模板获取 django 表单 id 吗?