case中的多个条件

kxe2p93d  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(269)

我想创建一个可以使用case选择多个条件的查询。我有下面的查询,当它的窗口数超过0的总和,但当我组合创建一个“windows\u多个”不起作用。当有多种类型的窗口时,它是多重的。

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个窗口是多个时,我没有得到预期的输出。我正在使用以下查询:

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
prdp8dxp

prdp8dxp1#

这回答了问题的原始版本。
你可能只是早产 end 学生:

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

相关问题