所以我有两个表,我需要比较数据并生成一个结果集,其中数据对于特定列是相同的,并且数据需要以交替的行显示。例如,在下图中,比较col2和col3,如果它们相同,则它们在结果表中配对。
table1 table2 result
col1 col2 col3 col1 col2 col3 col1 col2 col3
1 111 222 1 222 333 1 111 222
2 222 333 2 333 444 3 111 222
3 333 444 3 111 222 2 222 333
4 222 333 1 222 333
4 222 333
3 333 444
2 333 444
单个sql语句可以实现吗?每个表可以有超过20,000个记录,所以我宁愿不逐行。谢谢!
答案 0 :(得分:2)
如果col1的顺序不重要,您可以尝试此语句。
select col1, col2, col3
from table1
union
select col1, col2, col3
from table2
order by col2, col3