sql—需要帮助组合来自不同行和列的数据吗

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

我很难让我的查询做我想做的事情。这是我第一次尝试这样的事情。这是我正在使用的表格的一部分:

所以dlsequence列是由一系列问题组合在一起的,这将形成一个记录。我想找出的是组织限制的数量。我称之为和def的两个组织。对于重新编码的\u响应列,约束?的1为是,2为否?。对我来说,最困难的部分是将数据放在不同的行上。我想要两列,和def。然后在每个栏下,对组织进行约束。
到目前为止,我掌握的情况如下:

SELECT COUNT(CASE WHEN Field_Name = 'Organization' AND  Recoded_Response = 'ABC'
                  THEN Recoded_Response 
              END)   AS ABC
     , COUNT(CASE WHEN Field_Name = 'Organization' AND  Recoded_Response = 'DEF'
                  THEN Recoded_Response 
              END)   AS DEF
  FROM DAILY_LOG_CUSTOM_DATA
 WHERE Field_Name = 'Restraint?' 
   AND Recoded_Response = 1
GROUP BY DLSEQUENCE

我在寻找这样的输出:

k0pti3hp

k0pti3hp1#

我想找出的是组织限制的数量。
嗯。做一个 join 以及 group by 工作?

select o.recoded_response as organization,
       sum(case when r.recoded_response = '1' then 1 else 0 end) as restraints
from DAILY_LOG_CUSTOM_DATA o left join
     DAILY_LOG_CUSTOM_DATA r
     on o.DLSEQUENCE = r.DLSEQUENCE and
        r.Field_Name = 'Restraint?'
where o.Field_Name = 'Organization'
group by o.recoded_response;

相关问题