我有这三张桌子
表A:
code aname
----------- ----------
1 A
2 B
3 C
表B:
code bname
----------- ----------
1 aaa
1 bbb
2 ccc
2 ddd
表C
code cname
----------- ----------
1 xxx
1 yyy
1 zzz
2 www
如何使用单个查询实现这样的输出?
code aname bname cname
----------- ---------- ---------- ----------
1 A aaa xxx
1 A bbb yyy
1 A NULL zzz
2 B ccc www
2 B ddd NULL
3 C NULL NULL
有什么建议吗?
由于
答案 0 :(得分:3)
您希望表“{1}}和B
的”列表“是垂直的。这是可行的,使用C
。然而,诀窍是让第三行没有匹配。
这是一种方法。它使用完全外部联接将row_number()
和b
名称组合在一起。然后,它会使用c
来引入left join
条记录。
a