SQL求助

一页扁舟 2012-03-14 01:36:41
有如下两张表
A TABLE
ID ID_VERSION
1000 1
1000 2
1000 3

B TABLE
ID ID_NUM
1000 3
1000 4

求结果表如下
RESULT
ID ID_VERSION ID_NUM
1000 1
1000 2
1000 3 3
1000 4

各位大虾,如何写相应的SQL文呢?
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hi幸福来敲门 2012-03-14
  • 打赏
  • 举报
回复
自己寫的 5樓的更好


select a.id,a.ID_VERSION,decode(b.ID_NUM,a.ID_VERSION,a.ID_VERSION,'') from (
select xf_b.id,ID_NUM from xf_b,xf_a where xf_a.id=xf_b.id and xf_a.ID_VERSION=xf_b.ID_NUM) b right join (

select id,ID_VERSION from xf_a union
select id,ID_NUM from xf_b) a on a.id=b.id order by a.ID_VERSION
流氓你怕谁 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hj_daxian 的回复:]

SQL code

create table test1(id number(5),ID_VERSION number(2));
insert into test1 values(1000,1);
insert into test1 values(1000,2);
insert into test1 values(1000,3);
insert into test1 values(1000,4……
[/Quote]


up
wangpengpengwang 2012-03-14
  • 打赏
  • 举报
回复
您这个是写SQL还是用短程序实现啊?
  • 打赏
  • 举报
回复

create table test1(id number(5),ID_VERSION number(2));
insert into test1 values(1000,1);
insert into test1 values(1000,2);
insert into test1 values(1000,3);
insert into test1 values(1000,4);
insert into test1 values(1000,5);
insert into test1 values(2000,5);


create table test2(id number(5),ID_NUM number(2));
insert into test2 values(1000,3);
insert into test2 values(1000,4);
insert into test2 values(2000,4);
insert into test2 values(2000,5);

select case when a.id is null then b.id else a.id end id,
a.id_version,b.id_num
from test1 a full join test2 b on a.id=b.id and a.id_version=b.id_num
order by a.id,a.id_version


id ID_VERSION id_num
-----------------------------------------
1 1000 1
2 1000 2
3 1000 3 3
4 1000 4 4
5 1000 5
6 2000 5 5
7 2000 4

xpingping 2012-03-14
  • 打赏
  • 举报
回复
select A.*,B.ID_NUM
from A full outer join B
on A.ID_VERSION=b.ID_NUM

一页扁舟 2012-03-14
  • 打赏
  • 举报
回复
1.显示A表B表所有ID一致的数据
2.在1的基础上,A.ID_VERSION = B.ID_NUM的场合下,显示为一条记录 ,例
ID, ID_VERSION, ID_NUM
1000, 3, 3
3.在1的基础上,当A.ID_VERSION <> B.ID_NUM的场合下,显示两条记录, 例
ID, ID_VERSION, ID_NUM
1000, 1, ""
1000, "", 4
  • 打赏
  • 举报
回复
有什么规则? 结果是如何得来的呢? 2表合并 有重复的就添加在后面?
yixilan 2012-03-14
  • 打赏
  • 举报
回复
看不清楚你的结合规律。
虽然表面上大概知道。但是希望描述清楚。

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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