2015-05-11 3 views
-1

У меня есть две таблицы. TableOne, который содержит два столбца (имя & значение). TableTwo может содержать N no. of columns. Количество строк в TableOne будет равно числу столбцов в TableTwo.Выберите данные из одной таблицы, а затем переименуйте столбцы на основе другой таблицы на сервере SQL

см. Ниже изображение для получения дополнительной информации.

enter image description here

Что я хочу:

При запуске запроса на выборку по TableTwo, результат-набор должен выбрать имена столбцов на основе value колонке TableOne. Нам нужно сопоставить имя столбца TableTwo с строками, доступными в TableOne, и выполнить преобразование.

Так что вывод должен выглядеть следующим образом:

ColumnOne | ColumnTwo | columnThree | ColumnFour 

1   1   1    2015-05-08 15:28:22.630 
2   2   2    2015-05-07 15:28:22.630 
................ 
................ 
+0

не маркировать продукты не участвуют ... вы действительно с помощью MySQL и SQL Server и Oracle? – jarlh

+4

Я не буду пытаться ответить на этот вопрос, просто потому, что это очень плохой пример проектирования базы данных. Вы должны изучить основы модели реляционной базы данных и переконструировать ее на основе того, что вы узнали. Сохранение данных в 1NF (первая нормальная форма) имеет первостепенное значение для хорошего дизайна базы данных. Это вызовет все виды головных болей в будущем. –

+0

Я не понял, на какой базе вы получаете свой результат? у вас есть столбцы 3 и 4 .. что уникально в col 1 и col 2? – Baalback

ответ

0

Вы можете использовать динамический SQL для создания запроса для выполнения на основе значений в первой таблице. Ниже приведен пример:

Declare @dynamicSQL nvarchar(200) 

SET @dynamicSQL = 'SELECT' + (SELECT материал ((выберите '' + имя + 'AS' + значение из Table1 для пути XML ('')), 1,1 '')) + 'FROM tABLE2'

EXECUTE sp_executesql @dynamicSQL 

SQL Fiddle: http://sqlfiddle.com/#!6/768f9/10

+0

Я не мог отредактировать свой оригинальный ответ, поэтому добавил новый. Я добавил имя столбца, изменяющееся в зависимости от содержимого поля «Значение» –

+0

Это именно то, что мне нужно. – SharpCoder

Смежные вопросы