gpt4 book ai didi

c# - SQL 垂直显示表

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:09 25 4
gpt4 key购买 nike

我正在使用 C# 和 MySQL 作为 (DBMS) 我想旋转我的表。这是我的查询:

SELECT  p.gender,Count(CASE WHEN disease like '%Anemia%' THEN 1 END) AS 'Anemia'
,Count(CASE WHEN disease like '%Injuries%' THEN 1 END) AS 'Injuries'
FROM phc_db.record r, phc_db.patient p
where r.malteser_id=p.malteser_id
group by p.gender

结果是:

Gender  Anemia  Injuries
------------------------
Female 1 0

Male 2 1
------------------------

我想要:

Disease  Male   Female
----------------------

Anemia 2 1

Injuries 1 0
----------------------

有什么想法吗?有什么建议吗?谢谢

最佳答案

您可以尝试以疾病而不是性别为中心。在这种情况下,性别成为列。

SELECT
disease,
SUM(CASE WHEN p.gender = 'Male' THEN 1 END) AS Male,
SUM(CASE WHEN p.gender = 'Female' THEN 1 END) AS Female
FROM phc_db.record r
INNER JOIN phc_db.patient p
ON r.malteser_id = p.malteser_id
GROUP BY disease
WHERE disease IN ('Anemia', 'Injuries')

请注意,从您当前的输出看来,您可能不需要使用 LIKE 来匹配疾病。在我上面的查询中,我检查了贫血和受伤的确切疾病名称。如果我假设错误,那么你可以带回LIKE

关于c# - SQL 垂直显示表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706725/

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