我有一个查询, UNION
的两位有点类似的数据集,但它们都有一些列不存在于其他(即列在所产生的NULL值UNION
)。
问题是,我需要ORDER
使用,只有在一个或另一组存在的那些列,以获得在软件端的友好格式的数据所得到的数据。
例如: 表1有场ID, Cat, Price
。 表2有场ID, Name, Abbrv
。 该ID
字段是两个表之间常见的。
我的查询看起来是这样的:
SELECT t1.ID, t1.Cat, t1.Price, NULL as Name, NULL as Abbrv FROM t1
UNION
SELECT t2.ID, NULL as Cat, NULL as Price, t2.Name, t2.Abbrv FROM t2
ORDER BY Price DESC, Abbrv ASC
该ORDER BY
就是我卡住了。 数据是这样的:
100 Balls 1.53
200 Bubbles 1.24
100 RedBall 101RB
100 BlueBall 102BB
200 RedWand 201RW
200 BlueWand 202BW
...但我希望它看起来是这样的:
100 Balls 1.53
100 RedBall 101RB
100 BlueBall 102BB
200 Bubbles 1.24
200 RedWand 201RW
200 BlueWand 202BW
我希望这可以在T-SQL来完成。