SQL两张表如何合并为一张表

我有两张,分别是A,B表,里面都是有一个NO字段,在两张中,可能相同的NO号,也可能也不同的NO号,数值分别如下:AtableNOqtyA500.0000B100.000... 我有两张,分别是A,B表,里面都是有一个NO字段,在两张中,可能相同的NO号,也

可能也不同的NO号,数值分别如下:

A table

NO qty
A 500.0000
B 100.0000
D 123.0000
F 200.0000

B table
no qty
B 200.0000
C 147.0000
D 258.0000
E 369.0000
F 100.0000

要求两张表合并,显示效果如下:
NO qty no qty
A 500
B 100 B 200
D 123 D 258
F 200 F 100
C 147
E 369
意思就是:当两张表中的NO相同时,则在同一行显示,如果不同的时候,错行显示,如我的C,E项目。
我用LEFT JOIN试过,他只以A基础表,当B表中不同的时候,他不给予显示,所以希望各位高手指点一下,不胜感激。
展开
 我来答
ljsljc333
推荐于2018-03-07 · TA获得超过238个赞
知道答主
回答量:181
采纳率:0%
帮助的人:191万
展开全部
我这个方法比较笨
要操作的诗句实际上有两种,而且插入数据库的格式也不一样,可以第一步先把不同的找出来,第二步吧相同的找出来然后按你那种格式放在一起
第一步
1.select A.no,A,qty from A where not exists ( select * from B where A.no=B.no);选出A中不重复的记录
2.select B.no,B,qty from B where not exists ( select * from A where A.no=B.no);
第二部
select A.no,A.qty,B.no,B.qty from A,B where A.no = B.no

我比较菜,想不出厉害的方法了
198901245631
推荐于2016-08-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1747万
展开全部
可以通过以下sql实现
sql:create table tablename1 as select t2.filename1, t3.filename2 from tablename2 t2,tablename3 t3 where t2.id =t3.id;
解释:
从tablename2表中读取出filename1字段,从tablename3表中读取出filename2字段插入到新建的tablename1表中。
后面的where条件是通过id字段,将查询的两张表关联起来确定依赖关系。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hit_lubin
2011-05-13 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2026万
展开全部
用union
先以A为主表做left join,在以B表为主表做LEFT JOIN
然后两表UNION,UNION会过滤掉重复的部分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanqi0323
2011-05-24 · TA获得超过1065个赞
知道小有建树答主
回答量:1198
采纳率:0%
帮助的人:1046万
展开全部
应该用 isnull(A, '')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虚伪0世界
2019-10-12
知道答主
回答量:74
采纳率:33%
帮助的人:11万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式