假设我有表a
、b
和c
我想以这样的方式离开加入他们
| 表B列|表c列| table_c_cols |
| - -----|- -----| ------------ |
| b1|零| null |
| b2|零| null |
| b3|零| null |
| b4|零| null |
| 零|C1| c1 |
| 零|C2| c2 |
| 零|C3| c3 |
| 零|碳四| c4 |
我知道我可以用union all
和left join
的组合来实现这一点,例如(伪代码)
select table_a_cols, table_b_cols, null as table_c_cols from a left join b
union all
select table_a_cols, null as table_b_cols, table_c_cols from a left join c
但是我想知道在postgresql中是否有更简洁的方法来做这件事(我需要为几个表做这件事)。
1条答案
按热度按时间ewm0tg9j1#
下面演示了使用
UNION ALL
生成原始帖子中描述的结果集的替代方法:这种方法比使用
UNION ALL
更简洁,并且可以很容易地扩展以包含其他表。