【发布时间】:2016-09-03 12:09:06
【问题描述】:
当我在查询下运行时分别得到正确的结果。
SELECT COUNT(hospital_id) FROM `hospital` WHERE org_id='1' // Result: 0
SELECT COUNT(pharmacy_id) FROM `pharmacy` WHERE org_id='1' // Result: 1
SELECT COUNT(fire_station_id) FROM `fire_station` WHERE org_id='1' // Result: 3
SELECT COUNT(als_id) FROM `als` WHERE org_id='1' // Result: 3
SELECT COUNT(units_id) FROM `units` WHERE org_id='1'; //Result: 3
但我需要使用 MySQL 的任何概念将所有结果都放在一个单独的位置。
我的尝试:
SELECT COUNT(hospital_id) AS Hospital FROM `hospital` WHERE org_id='1'
UNION
SELECT COUNT(pharmacy_id) AS Pharmacy FROM `pharmacy` WHERE org_id='1'
UNION
SELECT COUNT(fire_station_id) AS Station FROM `fire_station` WHERE org_id='1'
UNION
SELECT COUNT(als_id) AS Als FROM `als` WHERE org_id='1'
UNION
SELECT COUNT(units_id) AS Units FROM `units` WHERE org_id='1';
这是我目前的结果:
+------------+
| Hospital |
+------------+
| 0 |
| 1 |
| 3 |
+------------+
这是我想要的结果:
+------------+------------+------------+-------+--------+
| Hospital | Pharmacy | Station | Als | Units|
+------------+------------+------------+-------+--------+
| 0 | 1 | 3 | 3 | 3 |
+------------+------------+------------+-------+--------+
我也参考堆栈问题Count rows in more than one table with tSQL 但没有得到想要的结果。 请更新我的查询或建议任何其他 MySQL 概念。
感谢大家!
【问题讨论】:
标签: mysql