|
Задать имена столбцов из другой таблицы
|
|||
---|---|---|---|
#18+
Добрый день, уважаемые гуру Возник вопрос как сделать выборку, чтобы можно было название столбцов подставить из другой выборки. Код: sql 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
Есть 2 таблицы Marks - где хранятся результаты оценок и column_marks - где хранятся названия столбцов. Как мне сделать выборку, чтобы вывести значения из marks с названием из значений column_marks. Чтобы получилось вот так: К-1К-2К-3К-4К-5К-680844386270721394687216817679579079227681006762954566656906282345055262101016588171974861996742851078710628502449358358782780 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2020, 13:31 |
|
Задать имена столбцов из другой таблицы
|
|||
---|---|---|---|
#18+
AcidByte, непонятно зачем, средства переименования столбцов обычно имеют объекты клиентского приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2020, 16:33 |
|
Задать имена столбцов из другой таблицы
|
|||
---|---|---|---|
#18+
динамическим запросом создайте временную таблицу с нужным количеством колонок и именами столбцов из Column_mark, а потом обычным select-ом запихните туда все данные из таблицы Marks ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2020, 18:28 |
|
Задать имена столбцов из другой таблицы
|
|||
---|---|---|---|
#18+
PIVOT ?! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2020, 19:50 |
|
Задать имена столбцов из другой таблицы
|
|||
---|---|---|---|
#18+
Pivot с динамикой зашло. Спасибо. Может кому пригодиться: авторdeclare @k1 varchar(20), @k2 varchar(20), @k3 varchar(20), @k4 varchar(20), @k5 varchar(20), @k6 varchar(20) select @k1 = [1], @k2 = [2], @k3 = [3], @k4 = [4], @k5 = [5], @k6 = [6] from column_mark pivot ( max(name) for Id in ([1], [2], [3], [4], [5], [6]))p declare @cmd varchar(150) = 'select c1 as ''' + @k1 + ''', c2 as ''' + @k2 + ''', c3 as ''' + @k3 + ''', c4 as ''' + @k4 + ''', c5 as ''' + @k5 + ''', c6 as ''' + @k6 + ''' from Marks ' exec (@cmd); ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2020, 04:57 |
|
|
start [/forum/topic.php?fid=46&msg=39984741&tid=1685828]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 153ms |
0 / 0 |