现有两个表(A和B),字段相同,资料有一部分不同.我想合并取两个表中的资料(以PS,DT为条件)
A表资料:
ps dt rk sl bz
11 aa kk 20 ss
22 bb df 30 hf
33 cc 1s 60 s23
B表资料:
ps dt rk sl bz
11 aa kk 66 ss
22 bb df 33 hf
44 dd fd 90 hj
我想要的结果:
ps dt rk sl bz
11 aa kk
22 bb df
33 cc 1s s23
44 dd fd hj
只要ps,dt相同的就显示一条,不同的都显示,不知怎么实现?
用UNION进行合并时,资料有重复.请教各位高手帮忙.
A表资料:
ps dt rk sl bz
11 aa kk 20 ss
22 bb df 30 hf
33 cc 1s 60 s23
B表资料:
ps dt rk sl bz
11 aa kk 66 ss
22 bb df 33 hf
44 dd fd 90 hj
我想要的结果:
ps dt rk sl bz
11 aa kk
22 bb df
33 cc 1s s23
44 dd fd hj
只要ps,dt相同的就显示一条,不同的都显示,不知怎么实现?
用UNION进行合并时,资料有重复.请教各位高手帮忙.
解决方案 »
- 更改TTreeView控件
- 如何使用代码判断是否可以连接指定IP的SQL Server???
- 如何消除图片的闪烁,原来是用image控件来设置图片的高度来实现的,有是闪烁,请教高手,请给出代码,好吗
- 关于类的问题?大家帮忙指导!
- 使用TClientDataSet的SaveToStream和LoadFromStream来对其DATA进行传递的问题
- 有关RTTI方面的代码,请高手进来解释一下。谢谢
- 图中的ListView是如何实现的?
- F1BOOK6的问题
- 请帮忙改错!
- 请教delphi中共用体如何定义!!!急!
- 怎么判断系统空闲(长时间无键盘和鼠标操作)? 就像MSN发现你不在和回来那样
- 急!为什么Detail里只打印出一行数据?
select distinct ps, dt
from
(select * from a
union
select * from b) x2.后面的两个字段sl, bz取值有什么要求?若不同,是取哪个值呢?
后面的两个字段sl, bz不用取值。
from
(select * from a
union
select * from b) x
select '''', ps, dt, rk, sl, bz from A Where ps not in (select ps from B)
union select '''',Sum(ps),Sum(dt),Sum(rk),Sum(sl),Sum(bz) from A Where ps not in (select ps from B)
数据本身是两条,你非放到一条里怎么可能?
除非数据是有什么关系
比如把ps和dt相同的记录中其它字段值相加或者什么关系
如果没有怎么可能放在一条显示呢。
像select distinct ps, dt,'' as sl, '' as bz from a是行的﹐但只是一個表﹐我要的是在兩個表中取資料條數。
ps dt rk sl bz
11 aa
22 bb
33 cc
44 dd
union
select a.* from a,b where not (a.ps = b.pa and a.dt = b.dt)
union
select b.* from a,b where not (a.ps = b.pa and a.dt = b.dt)楼主测试一下是否可以
ps dt rk sl bz
11 aa
22 bb
33 cc
44 dd如果这样的话很好办:
select distinct * from
(select ps,pt,'' as sl, '' as bz from a
union
select ps,pt,'' as sl, '' as bz from a) t
select distinct * from
(select ps,pt,'' as rk,'' as sl, '' as bz from a
union
select ps,pt,'' as rk,'' as sl, '' as bz from b) t
你的意思跟hqhhh(枫叶)開始說的一樣。to:hqhhh(枫叶)
現在看來只有按你所說的分兩步了。其它不知道還有什么更好的辦法﹖
你的意思跟hqhhh(枫叶)開始說的一樣。to:hqhhh(枫叶)
現在看來只有按你所說的分兩步了。其它不知道還有什么更好的辦法﹖