Мои данные набор:Как разбить несколько строк на один столбец?
|-------|------|---------|-------|-------|-------|-------|
|OrderNo| Line |Customer | Desc |Unit |Price | Amount|
|-------|------|---------|-------|-------|-------|-------|
|S123456|10 | John | shirt | 1.00 | 19.99 | 0.00 |
|-------|------|---------|-------|-------|-------|-------|
|S123456|02 | John | pants | 0.00 | 40.00 | 40.00 |
|-------|------|---------|-------|-------|-------|-------|
|S123777|01 | Jane | misc | 0.00 | 0.00 | 10.00 |
|-------|------|---------|-------|-------|-------|-------|
|S123777|02 | Jane | pants | 0.00 | 40.00 | 40.00 |
Результаты пытаются достичь:
|-------|---------|------|------|------|-------|--------|------|------|------|-------|--------|
|OrderNo|Customer |Line1 |Desc1 |Unit1 |Price1 |Amount1 |Line2 |Desc 2|Unit2 |Price2 |Amount 2|
|-------|---------|------|------|------|-------|--------|------|------|------|-------|--------|
|S123456|John |10 |shirt |1.00 |19.99 |0.00 |02 |pants |0.00 |40.00 |40.00 |
|-------|---------|------|------|------|-------|--------|------|------|------|-------|--------|
|S123777|Jane |01 | misc |0.00 |0.00 |10.00 |02 |pants |0.00 |40.00 |40.00 |
|-------|---------|------|------|------|-------|--------|------|------|------|-------|--------|
О ДАННЫХ
Сервер: MSSQL Server 2012
Тип данных:
[OrderNo] NVARCHAR NOT NULL
, [Line] [INT] NOT NULL
[Клиент] NVARCHAR NOT NULL
[Desc] NVARCHAR NOT NULL
[Unit] [десятичный] (38, 20) NOT NULL
, [Цена] [десятичный] (38, 20) NOT NULL
, [Amount] [decimal] (38, 20) NOT NULL
Я хочу видеть одну строку за заказ без изменений. Пытается просмотреть все строки в порядке в строке.
К сожалению, номер строки не является надежным в его числе для данных, которые мне нужно вытащить (иногда строка 03 используется для комментария, а не для фактического элемента), поэтому я не понимаю, как получить вторую строку для разделить на желаемый набор результатов.
Любая помощь приветствуется!
Попробуйте использовать соединение двух наборов результатов: GROUP BY MIN (линия); GROUP BY MAX (Line) :: JOIN ON OrderNo – Stavr00
Итак, если в одном заказе есть 22 элемента, вам нужно 112 столбцов на выходе для всех строк, даже если все остальные заказы имеют только 2 элемента? Это может стать очень уродливым. –
Наши линии обычно не превышают 5 строк. Чаще всего 2-3. – CoffeeCoder