powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задать имена столбцов из другой таблицы
5 сообщений из 5, страница 1 из 1
Задать имена столбцов из другой таблицы
    #39984616
AcidByte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые гуру
Возник вопрос как сделать выборку, чтобы можно было название столбцов подставить из другой выборки.

Код: 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.
create table Marks 
(
	 RecordID int IDENTITY,
	 C1 int, 
	 C2 int ,
	 C3 int, 
	 C4 int,
	 C5 int,
	 C6 int

)

go

declare @c1 int, @c2 int, @c3 int, @c4 int, @c5 int, @c6 int, @row int

set @row = 0


while @row < 20
begin	
	set @row = @row + 1

	set @c1 = round(rand()*10, 0) 
	set @c2 = round(rand()*10, 0) 
	set @c3 = round(rand()*10, 0) 
	set @c4 = round(rand()*10, 0) 
	set @c5 = round(rand()*10, 0) 
	set @c6 = round(rand()*10, 0) 

	insert into Marks 
		values	(@c1, @c2, @c3, @c4, @c5, @c6)
end

go
create table Column_mark 
( id int IDENTITY, 
	name varchar(20)
)

go

insert into Column_mark
values ('К-1'), ('К-2'), ('К-3'), ('К-4'), ('К-5'), ('К-6')





Есть 2 таблицы Marks - где хранятся результаты оценок и column_marks - где хранятся названия столбцов. Как мне сделать выборку, чтобы вывести значения из marks с названием из значений column_marks. Чтобы получилось вот так:
К-1К-2К-3К-4К-5К-680844386270721394687216817679579079227681006762954566656906282345055262101016588171974861996742851078710628502449358358782780
...
Рейтинг: 0 / 0
Задать имена столбцов из другой таблицы
    #39984698
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AcidByte,

непонятно зачем, средства переименования столбцов обычно имеют объекты клиентского приложения.
...
Рейтинг: 0 / 0
Задать имена столбцов из другой таблицы
    #39984729
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
динамическим запросом создайте временную таблицу с нужным количеством колонок и именами столбцов из Column_mark, а потом обычным select-ом запихните туда все данные из таблицы Marks
...
Рейтинг: 0 / 0
Задать имена столбцов из другой таблицы
    #39984741
Андрей Юниор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задать имена столбцов из другой таблицы
    #39985190
AcidByte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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);
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задать имена столбцов из другой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]