Delgus
@Delgus

Возможно ли подставить имена столбцов из таблицы?

Есть таблица вида
id
number
prop
value
1qwerty54snils123123
2qwerty54inn456456
3qwerty54cityyaroslavl
4qwerty12snils123456
5qwerty12ogrn456789
6qwerty12citymoscow
7qwerty8inn234567
8qwerty8
ogrnip567567
9qwerty8cityvladimir


Хотелось бы минимальным количеством запросов а лучше одним получать данные в виде

numbersnilsinnogrnogrnipcity
qwerty54123123456456nullnull Yaroslavl
qwerty12123456null456789null moscow
qwerty8234567nullnull567567 vladimir

А для этого как минимум надо динамически подставлять названия столбцов.
Возможно ли это?
Смотрю в сторону подготавливаемых запросов и процедур, но не могу найти понятного примера...Укажите хотя бы в какую сторону копать)
  • Вопрос задан
  • 166 просмотров
Решения вопроса 2
tsklab
@tsklab
Здесь отвечаю на вопросы.
В любой СУБД есть системные таблицы, в которых хранятся наименования объектов, и названия полей в том числе.
SHOW FIELDS FROM table_name.
The INFORMATION_SCHEMA COLUMNS Table.
Горизонтальные данные: MySQL pivot row into dynamic number of columns.
Ответ написан
Комментировать
Planet_93
@Planet_93
Можете сделать это так:

SELECT
T.number,
MAX (SNILS.[value]) AS snils,
MAX (INN.[value]) AS inn,
MAX (ORGN.[value]) AS orgn,
MAX (C.[value]) AS CITY

FROM
dbo.TestTable AS T
LEFT JOIN dbo.TestTable As SNILS
ON T.id= SNILS.id and T.prop='snils'
LEFT JOIN dbo.TestTable AS INN
ON T.id= INN.id and T.prop='inn'
LEFT JOIN dbo.TestTable AS ORGN
ON T.id= ORGN.id and T.prop='orgn'
LEFT JOIN dbo.TestTable AS C
ON T.id= C.id and T.prop='city'
GROUP BY T.number


Результат:
5bfe6c1921c7a170334528.jpeg
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
select number, MAX(snils) as snils, MAX(inn) as inn from tableName group by number
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект