我有一张桌子,如下表1所示:
A B Year Revenue
100 200 2012 100000
100 300 2015 100001
200 100 2012 100000
200 300 2012 22222
200 300 2015 22222
300 100 2012 122
300 200 2012 23444
现在,我想在不使用任何存储过程的情况下使用如下表2,只需要在SQL Server中使用SELECT查询:
A B Year Revenue
100 200 2012 100000
200 100 2012 100000
100 300 2015 100001
300 100 2012 122
200 300 2012 22222
200 300 2015 22222
300 200 2012 23444
答案 0 :(得分:4)
如果我理解正确,您希望成对的A / B值一起出现。您可以使用ORDER BY
和一些逻辑将它们组合在一起:
SELECT t.*
FROM t
ORDER BY (CASE WHEN A < B THEN A ELSE B END),
(CASE WHEN A < B THEN B ELSE A END),
A;