表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行SQL

解决方案 »

  1.   

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

  2.   

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