|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
Доброго дня господа ! Имею таблицу T1 F0 F1 F2 R1 100 200 Получить результат F0 KEY VAL R1 F1 100R1 F2 200 Возможный запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
НО !!!!!!! Проблема в том что список полей мне неизвестен (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 (использую его) есть возможность сослаться на поле таблицы через строку Т.е. так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Заранее благодарен ! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2017, 15:33 |
|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
HOME_X, для начала объясните для какой цели вам нужен такой результат. И еще напоминаю, что количество секций в UNION запросе ограничено (что-то вроде 14 или 19). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 09:25 |
|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
HOME_XT1 это книга Excel - пользователь может менять имена полей их кол-во Что он точно НЕ может менять? к чему можно привязаться-то? Анатолий ( Киев )для начала объясните для какой цели вам нужен такой результат. И почему это нужно сделать именно запросом, а не модулем. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 09:31 |
|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
HOME_X , если я правильно понял, вам нужен запрос вида Код: sql 1. 2. 3.
если состав полей заранее неизвестен, такой текст можно получить программно по фактическому списку полей исходной таблицы Анатолий ( Киев )И еще напоминаю, что количество секций в UNION запросе ограничено (что-то вроде 14 или 19).сделал 50 (MSA2000), дальше - 'Слишком сложный запрос' ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 10:10 |
|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
непоймучкасделал 50 (MSA2000), дальше - 'Слишком сложный запрос' сделайте рабочую таблицу с полями f0,key,val затем примерно так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 13:11 |
|
Как развернуть таблицу (имена полей неизвестны)
|
|||
---|---|---|---|
#18+
подправила немного Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 13:29 |
|
|
start [/forum/topic.php?fid=45&msg=39515160&tid=1612126]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 435ms |
0 / 0 |