我有一个疑问UNION
的两个有点相似的数据集,但它们都有一些在另一个数据集中不存在的列(即,这些列在结果中具有 NULL 值)UNION
.)
问题是,我需要ORDER
使用仅存在于一个或另一组中的那些列来生成结果数据,以便以软件端友好的格式获取数据。
例如:Table1有字段ID, Cat, Price
. Table2有字段ID, Name, Abbrv
. The 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
The 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 中完成。