Heim  >  Artikel  >  Backend-Entwicklung  >  两表连接查询的问题

两表连接查询的问题

WBOY
WBOYOriginal
2016-06-23 14:09:57977Durchsuche

表A
id    title
1     姓名
2     单位
3     年龄
--------------------------
表B
id   pid   content
1    1     张三
2    2     计生委
3    1     李四
4    2     发改委
5    3     46
6    1     赵五
7    2     财政部
--------------------------
想连接两表实现输出如下:
id    title    pid   content
1     姓名       1     张三
2     单位       2     计生委
3     年龄       null  null
1     姓名       1     张三
2     单位       2     计生委
3     年龄       3     46
1     姓名       1     张三
2     单位       2     计生委
3     年龄       null  null

===========================
请问sql语句如何实现,想了很久
目前我试过单纯用左连接无法输出一个两个B表null行


回复讨论(解决方案)

join left on 表A.id=表B.pid
应该就可以了,不知你是如何写的

Select * from a left join b on a.id=b.pid
无法列出两行NULL
如果只查询一组,如只查询表A的前三行和表B的前两行,是可以列出共三行,最后一行content为NULL的情况的
而如果是全部一起查询,因为表B中有一项(id=5)符合表A的(id=3),故不会返回两行NULL
只返回和B表一样的共七行

在SQL版块得到答案了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn