这是我的表的一个例子:
drug_id | route (enum) | count
------------------------------
1 | PO | 2
1 | IV | 4
1 | IV | 6
2 | PO | 1
2 | PO | 5
2 | IV | 2
这就是我需要信息的方式。基本上它SUM(count)
但在每个“路线”的列中:
drug_id | PO | IV
-----------------
1 | 2 | 10
2 | 6 | 2
我假设我需要一个支点,我试图了解它,但我不能为我的生活拼凑一个简洁的查询,这将是可行的。
我试过这样的事情:
SELECT drug_id, PO, IV
FROM
(
SELECT drug_id, SUM(count) as PO, '0' as IV FROM `core_reports_antiinfectives` WHERE route="PO"
UNION
SELECT drug_id, SUM(count) as IV, '0' as PO FROM `core_reports_antiinfectives` WHERE route="IV"
) aa
然而,这给了我0
所有的IV
专栏,而且我不相信它是合适的——它需要“分组”drug_id
并将这些专栏放在一起,我也坚持这一点。
有什么我想念的吗?还是有更好的方法来解决它?
谢谢!