Êàê ðàçâåðíóòü òàáëèöó (èìåíà ïîëåé íåèçâåñòíû)
|
|
Ïîíåäåëüíèê, 04 Ñåíòÿáðÿ 2017 ã. 15:33
+ â öèòàòíèê
Äîáðîãî äíÿ ãîñïîäà !
Èìåþ òàáëèöó T1
Ïîëó÷èòü ðåçóëüòàò
| F0 | KEY | VAL | | R1 | F1 | 100 | | R1 | F2 | 200 |
|
Âîçìîæíûé çàïðîñ
select A.F0,
B.F1,
iif(B.F1='F1',A.F1,iif(B.F1='F2',A.F2,Null)) F2
from T1 A
inner join (select 'F1' F1 from TEMP
union all
select 'F2' F1 from TEMP
) B
on (1=1)
ÍÎ !!!!!!!
Ïðîáëåìà â òîì ÷òî ñïèñîê ïîëåé ìíå íåèçâåñòåí (T1 ýòî êíèãà Excel - ïîëüçîâàòåëü ìîæåò ìåíÿòü èìåíà ïîëåé èõ êîë-âî)
Ñïèñîê è íàçâàíèÿ ïîëåé ÿ ðåàëüíî äîñòàòü ìîãó â âèäå ñòðîêè 'F1','F2'...
(select 'F1' F1 from TEMP
union all
select 'F2' F1 from TEMP
) B
Íî îáðàáîò÷èê ïðèéäåòñÿ âñå âðåìÿ äîïèñûâàòü ðóêàìè
iif(B.F1='F1',A.F1,iif(B.F1='F2',A.F2,
....................................)) F2
Åñòü ëè åùå âàðèàíòû ðàçâåðíóòü òàáëèöó ?
Ìîæåò â Microsoft Jet (èñïîëüçóþ åãî) åñòü âîçìîæíîñòü ñîñëàòüñÿ íà ïîëå òàáëèöû ÷åðåç ñòðîêó
Ò.å. òàê
select A.F0,
B.F1,
A.Fields(B.F1) F2
from T1 A
inner join (select 'F1' F1 from TEMP
union all
select 'F2' F1 from TEMP
) B
on (1=1)
Çàðàíåå áëàãîäàðåí !
http://www.sql.ru/forum/1270606/kak-razvernut-tablicu-imena-poley-neizvestny
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-