请问一个SQL语句问题

liliah 2006-09-07 10:21:42
请问一个SQL语句问题,先谢谢.有2个表。table1 table2内容如下:

table1
material mmamount
a 10
b 20
c 30
table2
material fiamount
b 20
c 30
d 40
e 0

要求结果是:
mmamount fiamount
a 10 null
b 20 20
c 30 31
d null 41
e null 0

...全文
192 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
buduanxuexi 2006-09-07
  • 打赏
  • 举报
回复
full out join一下就可以了
jetdw 2006-09-07
  • 打赏
  • 举报
回复
呵呵
楼主的问题解决了吧
接点分:)
liliah 2006-09-07
  • 打赏
  • 举报
回复
----大家不要笑话,不小心输入错误啦。这儿朋友真热心哪。这么快有这么多人帮忙,重新写一下:
有2个表。table1 table2内容如下:

table1
material mmamount
a 10
b 20
c 30
table2
material fiamount
b 20
c 31
d 41
e 0

要求结果是:
mmamount fiamount
a 10 null
b 20 20
c 30 31
d null 41
e null 0
ilon_chen 2006-09-07
  • 打赏
  • 举报
回复
select a.*,b.fiamount from table1 a full join table2 b on a.material=b.material


不过31,41是出不了!
WangZWang 2006-09-07
  • 打赏
  • 举报
回复
select material=isNULL(a.material,b.material),a.mmamount,b.fiamount
from table1 as a full join table2 as b on a.material=b.material
xiaoku 2006-09-07
  • 打赏
  • 举报
回复
31 41 不懂!



c 30 31
d null 41
e null 0
cuckoojosh 2006-09-07
  • 打赏
  • 举报
回复
怀疑你的要求结果是不是:
mmamount fiamount
a 10 null
b 20 20
c 30 30
d null 40
e null 0

SELECT TABLE1.material AS material, TABLE1.mmamount AS mmamount, TABLE2.fiamount AS FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.material = TABLE2.material
UNION
SELECT TABLE2.material AS material, TABLE1.mmamount AS mmamount, TABLE2.fiamount AS FROM TABLE2 LEFT JOIN TABLE1 ON TABLE2.material = TABLE1.material


jdzhangjun 2006-09-07
  • 打赏
  • 举报
回复
SELECT ISNULL(dbo.Table_1.material, dbo.Table_2.material) AS Expr2, dbo.Table_1.mmamount, dbo.Table_2.fiamount
FROM dbo.Table_1 FULL OUTER JOIN
dbo.Table_2 ON dbo.Table_1.material = dbo.Table_2.material
playwarcraft 2006-09-07
  • 打赏
  • 举报
回复
select case when A.material is null then B.material else A.material end as material
,A.mmamount,B.fiamount from table1 A full join table2 B on A.material=B.material

--這樣只能出來如下結果,至於31,41怎麼來,就......

material mmamount fiamount
-------- ----------- -----------
a 10 NULL
b 20 20
c 30 30
d NULL 40
e NULL 0
xiaoku 2006-09-07
  • 打赏
  • 举报
回复
select isnull(a.material,b.material) , mmamount , fiamount
from table1 a full join table2 on a.material=b.material


LZ要这个吧?
难道你输错了?
chuifengde 2006-09-07
  • 打赏
  • 举报
回复
不懂
playwarcraft 2006-09-07
  • 打赏
  • 举报
回复
不會...還能出來31,41的說...

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧