考虑有两个表: 表1和表2,它们都具有相同的属性,即ID,NAME,CLASS,STATUS。 这两个表格包含了学校所有学生的数据......但由两个独立机构管理。
根据唯一ID,我想检查所有学生,两个表中的数据是否相同。
我有兴趣检索两个表格中不匹配的数据,但是不想要不匹配的数据,其中学生的状态是“学校”。在两个表格中(如果状态是' lefttheschool'在一个表格中,'在其他表格中显示'在其他表格中,它是不匹配的,应该检索它。)
例如:
TABLE1 ID NAME CLASS STATUS
1 A 3 PRESENT
2 B 4 LEFT
3 B 7 LEFT
TABLE2 ID NAME CLASS STATUS
1 A 3 PRESENT
2 C 4 PRESENT
3 B 5 LEFT
RESULT:ID NAME CLASS STATUS ID NAME CLASS STATUS
2 B 4 LEFT 2 C 4 PRESENT
答案 0 :(得分:0)
当ID相同且其他属性不同时选择全部:
select table1.*, table2.*
from table1, table2
where table1.id = table2.id
and ( table1.name <> table2.name or
table1.class <> table2.class or table1.status <> table2.status)
and (table1.status <>'LEFT' and table2.status <>'LEFT')