Здравствуйте,
Возможно возникла стандартная проблема, но на форуме подобного не нашел.
PIVOT вроде бы не то, что нужно.
Есть таблица T1 вида:
sepoint | weigth | bunker | material | s1 | w1 | b1 | m1 | s2 | w2 | b2 | m2 | s3 | w3 | b3 | m3 | . | . | . | . | . | . | . | . | sn | wn | bn | mn |
|
Необходимо получить таблицу T2 следующего вида:
setpoint 1 | setpoint 2 | setpoint 3 | ... setpoint n | weigth 1 | weigth 2 | weigth 3 | ...weigthn | bunker1 | bunker2 | bunker3 | ... bunkern | s1 | s2 | s3 | sn | w1 | w2 | w3 | wn | b1 | b2 | b3 | bn | |
|
Еще есть таблица Т3, где указан перечень всех возможных материалов.
Мой не до конца рабочий вариант заключается в том, чтобы сделать JOIN T1 и T3 по material и подзапросами формировать нужную таблицу.
SELECT (select T1.setpoint where T1.material=m1) as setpoint1, (select T1.setpoint where T1.material=m2) as setpoint2
,(select T1.setpoint where T1.material=m3) as setpoint3, (select T1.setpoint where T1.material=mn) as setpointn и т.д.
FROM [test].[dbo].[T3] as T3
join [test].[dbo].[T1] as T1
on T1.material=T3.material
Но думаю есть более элегантный способ, который позволит не "ручками" перечислять поля требуемой таблицы.