有两张表,其中都有属性name,但是都有其他不同的另一个属性,如何构造sql语句使新建一张表能够实现同时显示一个name的另外两个属性?
举例如下,那么table_c应该怎么写呢?
table_a
name list_a
A 4
B 1
C 5
E 2
table_b
name list_b
B 5
D 1
E 2
然后构造成以下↓
table_c
name list_a list_b
A 4 0
B 1 5
C 5 0
D 0 1
E 2 2
还望高手提供该类的sql语句,感激不尽~
用全连接:full join, 效率比union高
SELECT NVL(A.name,B.name) AS NAME,NVL(A.list_a,0) AS list_a,NVL作用,参数1为空时取参数2的值
望采纳,不懂可以问.
多谢你回答,不过确实下边这位先给我了主思路,还是很感谢你哈~~
没能运行起来,不过还是多谢~
测试了一下,所得效果并不是所要求的数据,由于错误,我修改了一下,也可能是我改的有问题吧,嘿,不过还是很感谢你的回答。
追答不能够啊,我测试过完全没问题啊,你用的是什么数据库,我是在oracle 10g环境下做的
追问额 我跑的SQLServer~ 不过看思路应该都是正确的,我当时一时间没来得及把你的程序认真改成sqlserver的语句,不过还是很感谢你哈~~~~
嘿,多谢~~