对两个表中的记录进行比较
比如:
有两个表t1,t2,表1含有字段a1,a2,a3,a4,表2含有字段a2,a3,a4。a2,a3,a4为同一个字段名。
对两个表进行比较,如何找出表t1比表t2多出的记录,或者少的记录,还有a2字段相同,a3,a4值不同的记录。有什么好的方法?谢谢
比如:
有两个表t1,t2,表1含有字段a1,a2,a3,a4,表2含有字段a2,a3,a4。a2,a3,a4为同一个字段名。
对两个表进行比较,如何找出表t1比表t2多出的记录,或者少的记录,还有a2字段相同,a3,a4值不同的记录。有什么好的方法?谢谢
解决方案 »
- 关于数据连接的问题。
- 关于查询语句in的优化,提高效率
- 觸發器問題。
- 有关RMAN的用法,哪里可以下载说明或相关资料?
- 问个弱弱的问题。。pl/sql developer 怎么连oracle啊?
- 多个时间段记录的选取
- 创建表的 oracle sql 代码 怎么转换成 在MSSqlServer中执行?? ??
- 三个表的视,有两个表左联的,怎么写SQL语句??
- 请教高手一个关于日期的SQL
- connection.close()为什么无法关闭执行中的存储过程
- 在包里如何设置一个公用的变量,在A过程中生成,在B,C过程中都可以调用???
- 如何写这样一个创建表的存储过程或函数,表的字段名和数据类型都由参数传入?
SELECT DISTINCT a2, a3, a4 FROM T1
MINUS
SELECT DISTINCT a2, a3, a4 FROM T2;表t1比表t2少的记录:
SELECT DISTINCT a2, a3, a4 FROM T2
MINUS
SELECT DISTINCT a2, a3, a4 FROM T1;a2字段相同,a3,a4值不同的记录
SELECT T1.a2, t1.a3, t1.a4, t2.a3, t2.a4
FROM T1, T2
WHERE T1.a2 = T2.a2
AND (T1.a3 <> T2.a3 OR T1.a4 <> T2.a4)是LZ想要的吗?
多出的记录和少的记录 ,可以用左,右连接,条件是三个字段值相等
a2相同,a3,a4不同 ,就更简单了吧你是要找更好的实现方法呢?