oracle 查询两表问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:09:25
有pay 和pay_cache 两个表,字段如下
pay表字段:pay_id,name,code,remark
pay_cache表字段:pay_id,name,code,remark,download_flag
需要对比两个表中pay_id相同的数据的不同要怎么写?
就是结果要这样
pay_id,name,code,remark,download_flag
00001,tom,001,remark,1
00001,tom,001,remark,NULL
就是说我要查看两个表中PAY_ID一样的数据有什么不同,谢谢.不知道说的明白不
a5202003,你好 两个表的字段是不大一样的 就是说pay_cache表的字段比pay表多点 按你的语句
(select * from pay t
union
select * from pay_cache s)
order by t.pay_id 会报错
我想要的查询结果显示 就好象一张表里面的2条数据一样并列显示出来
可能是我表达的不是很清楚 问题是这样的 : 程序设计的时候要在接收数据的时候要匹配pay和pay_cache表的数据是否一致 一致的话才接收 就是说比如来比了笔数据 程序会把接收到的数据先存在pay_cache表 然后根据ID 和pay表比对,如果相同字段的值不同就不允许接收 数据
我现在要做的就是手工查询下 到底是哪个字段值不一样
补充下 这两个表的字段大部分相同 但是不全部一样 cache表字段多点

select pay_id,name,code,remark,download_flag from
(select pay_id,name,code,remark,null as download_flag from pay
union all
select pay_id,name,code,remark,download_flag from pay_cache) a
order by pay_id

以上希望对你有所帮助

SQL> select * from a;

ID NAME
---------- ----------------
1 n
2 n1
3 n2
4 n3

SQL> select * from b;

ID NAME
---------- ---------------
1 nw
2 n1
3 nw1
4 n3

SQL> select a.name as aname,b.name as bname
2 from a a,b b
3 where a.id=b.id
4 and a.name <> b.name;

ANAME BNAME
-------------------- --------------------
n nw
n2 nw1

我想如果给你左右排列,更不方便对比了。
那么就简单了。
(select pay_id,name,code,remark from pay
union
select pay_id,name,cod