У меня есть запрос, что 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.