我只想问是否可以查询以查看两个表之间的所有重复项?我尝试了一些解决方案,但它返回重复的行而不是重复的项目。
例如,我有这两个表:
表-A
| A | B | C | D |
..........................................
|门|书|钥匙|鞋|
|门|袋子|办公桌|键|
|米饭|鱼|蛋糕|鞋|
表-B
| A | B | C | D |
|胶带|粉丝|长袍| spec |
|钥匙|鞋|粉丝|房间|
|大厅| pops |门|光盘|
因此,最终它只返回所有具有重复项的项目。例如,
|门|
|键|
|鞋|
.....
我尝试了一些问题,但我仍无法找到解决方案。感谢。
答案 0 :(得分:0)
您可以通过取消隐藏数据并使用group by
:
select col
from (select a as col from table_a union all
select b from table_a union all
select c from table_a union all
select d from table_a union all
select a from table_b union all
select b from table_b union all
select c from table_b union all
select d from table_b
) t
group by col
having count(*) > 1;
如果表格较大,则使用union all
比使用{{1}}更有效。