У меня есть эта таблица.конвертировать все строки в одну строку при расширении столбцов
+-------+-------+--------+------+--------+
| Level | Entry | Code | Name | Value |
+-------+-------+--------+------+--------+
| L1 | 111 | Item_1 | pcs | 1 |
| L2 | 222 | Item_2 | ctn | 6 |
+-------+-------+--------+------+--------+
Я хочу задать вопрос.
+---------+--------+--------+---------+---------+--------+--------+---------+
| L1Entry | L1Code | L1Name | L1Value | L2Entry | L2Code | L2Name | L2Value |
+---------+--------+--------+---------+---------+--------+--------+---------+
| 111 | Item_1 | pcs | 1 | 222 | Item_2 | ctn | 6 |
+---------+--------+--------+---------+---------+--------+--------+---------+
Это может быть сделано путем
;with L1 AS
(select Entry As L1Entry, Code As L1Code, Name As L1Name, Value As L1Value
from table
where Level = 'L1')
, L2 AS
(select Entry As L2Entry, Code As L2Code, Name As L2Name, Value As L2Value
from table
where Level = 'L2')
select * from L1
outer apply L2
Есть ли лучший способ, чем это в производительности?
Вы уверен, что It'sa хорошая идея, если у вас есть много записи вам придут получить таблицу километровый долго – Mihai
@Mihai я хочу к? используйте его на таблице UOM. он имеет только 4 уровня UOM за один элемент. И я вижу только один пункт за раз. Таким образом, это не проблема. Я думаю, что есть лучший способ сделать окна. Я просто не знаю, как это сделать. –
Почему вы не используете Pivot. – KumarHarsh