你会发现一个共同点,这里可以命名为位置。
我选择位置,但如果一个名称可以有多个位置,那么将其更改为名称并不困难
SELECT
t4.NAME, t4.LOCATION
, COALESCE(TABLE1PLANCOUNT,0) TABLE1PLANCOUNT ,COALESCE(TABLE1PLANBALANCE,0) TABLE1PLANBALANCE
, COALESCE(TABLE2PLANCOUNT,0) TABLE2PLANCOUNT,COALESCE(TABLE2PLANBALANCE,0) TABLE2PLANBALANCE
, COALESCE(TABLE3PLANCOUNT,0) TABLE3PLANCOUNT,COALESCE(TABLE3PLANBALANCE,0) TABLE3PLANBALANCE
FROM
Table4 t4
LEFT JOIN ( SELECT LOCATION , COUNT(*) TABLE1PLANCOUNT , SUM(BALANCE) TABLE1PLANBALANCE FROM Table1 GROUP BY LOCATION) t1 ON t4.LOCATION = t1.LOCATION
LEFT JOIN ( SELECT LOCATION , COUNT(*) TABLE2PLANCOUNT, SUM(BALANCE) TABLE2PLANBALANCE FROM Table2 GROUP BY LOCATION) t2 ON t4.LOCATION = t2.LOCATION
LEFT JOIN ( SELECT LOCATION , COUNT(*) TABLE3PLANCOUNT , SUM(BALANCE) TABLE3PLANBALANCE FROM Table3 GROUP BY LOCATION ) t3 ON t4.LOCATION = t3.LOCATION