我的SQL-fu對此太虛弱了,我甚至不確定在一次SQL調用中是否可能。是否可以在單個SQL查詢中的三個表中選擇多個條件計數?
鑑於我有以下表格:
PARTNER
+----+--------+
| id | name |
+----+--------+
| 1 | bloggs |
| 2 | jones |
PARTNER MANAGER
+----+--------------+------+
| id | partner_id | name |
+----+--------------+------+
| 1 | 1 | fred |
| 2 | 2 | dave |
COMPANY
+----+--------------------+--------+----------+
| id | partner_manager_id | name | active |
+----+--------------------+--------+----------+
| 1 | 1 | comp1 | true |
| 2 | 1 | comp2 | false |
| 3 | 2 | comp3 | true |
| 4 | 2 | comp4 | true |
| 5 | 2 | comp5 | true |
| 6 | 2 | comp6 | true |
我想輸出在一個SQL調用如下:
+--------------+--------------------+----------------------+
| partner_name | n_active_companies | n_inactive_companies |
+--------------+--------------------+----------------------+
| bloggs | 1 | 1 |
| jones | 4 | 0 |
我可以使用連接三個表,有兩個LEFT JOINs
但如何我可以彙總計數(有或沒有WHERE
條款)正在逃避我。
我吠叫了錯誤的樹,可以這麼說嗎?
我喜歡,如果你從一個單一的statment – Sudantha 2010-11-24 12:54:20