Мои данные -
CREATE TABLE Tbl1 (State varchar(max), Value int)
INSERT INTO Tbl1 VALUES
('A',10),
('B',20),
('C1',30),
('C3',40),
('D',50),
('C2',70),
('E',60);
Сценарий / проблема - я хочу, чтобы любое состояние, начинающееся с C, было сложено в конце. Если добавлено новое состояние, например C2, тогда запрос должен быть в состоянии обнаружить и вставить C2 в виде столбца между C1 и C3. Если добавлено состояние E, то его следует добавить в виде столбца после D.
Требуемый вывод -
+----+----+----+----+----+----+----+
| A | B | D | E | C1 | C2 | C3 |
+----+----+----+----+----+----+----+
| 10 | 20 | 50 | 60 | 30 | 70 | 40 |
+----+----+----+----+----+----+----+