2014-09-30 121 views
-1

所以我有两个表格,我需要比较数据并生成结果集,其中数据对于特定列是相同的,并且数据需要以交替行显示。例如,在以下图表中比较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语句?每张桌子可以有超过2万张以上的记录,所以我宁愿不要一条一条地走。谢谢!

+1

col2和col3的值总是相同的?如果是这样,为什么比较两者?如果不是你为什么添加误导性的例子?什么类型的列? – Reniuz 2014-09-30 15:21:12

+0

好点,不,他们不会是相同的。我试图尽可能简单。 – Lausn 2014-09-30 15:24:19

+1

确定你的编辑让我困惑。你的意思是否与111中相同,都是相同的数字,或者是col2 = 111和col3 = 111',因此它们是匹配的? – Rhumborl 2014-09-30 15:29:37

回答

2

如果col1的顺序不重要,可以尝试使用此语句。

select col1, col2, col3 
from table1 
union 
select col1, col2, col3 
from table2 
order by col2, col3 
相关问题