Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Неординарное преобразование  [new]
PavM
Member

Откуда:
Сообщений: 122
Всем доброго времени суток

Имеется что-то вроде следующего (пример упрощен):
DECLARE @Test1 table (tablename nvarchar(255), IdentifierId1 nvarchar(255), IdentifierId2 nvarchar(255))
INSERT INTO @Test1 (tablename, IdentifierId1, IdentifierId2)
SELECT
'Capability_DataSourceVersion' as TableName,
'CapabilityId' as IdentifierId1,
'DataSourceVersionId' as IdentifierId2


DECLARE @Test2 TABLE (Id BIGINT IDENTITY(1,1), tablename nvarchar(255), IdentifierId1 nvarchar(255), IdentifierId2 nvarchar(255))
INSERT @Test2 (tablename, IdentifierId1, IdentifierId2)
SELECT 
'Capability_DataSourceVersion' as TableName,
'1','100'
UNION SELECT 
'Capability_DataSourceVersion' as TableName,
'2','200'

SELECT t1.IdentifierId1, t2.IdentifierId1, t1.IdentifierId2, t2.IdentifierId2 FROM @Test1 t1
	INNER JOIN @Test2 t2 ON t1.tablename = t2.tablename

Результат запроса получается следующий:
IdentifierId1 IdentifierId1 IdentifierId2 IdentifierId2
CapabilityId 1 DataSourceVersionId 100
CapabilityId 2 DataSourceVersionId 200


Хотелось бы получить следующее:
CapabilityId DataSourceVersionId
1 100
2 200


Заранее спасибо за любые идеи и помощь
16 май 11, 19:09    [10660789]     Ответить | Цитировать Сообщить модератору
 Re: Неординарное преобразование  [new]
iljy
Member

Откуда:
Сообщений: 8711
PavM,

в такой постановке - только динамический SQL. А нафига если не секрет?
16 май 11, 19:17    [10660835]     Ответить | Цитировать Сообщить модератору
 Re: Неординарное преобразование  [new]
PavM
Member

Откуда:
Сообщений: 122
iljy,

я бы тоже хотел спросить "зачем!?" системного архитектора заказчика :)
16 май 11, 19:27    [10660885]     Ответить | Цитировать Сообщить модератору
 Re: Неординарное преобразование  [new]
iljy
Member

Откуда:
Сообщений: 8711
PavM,

а если у вас данные из нескольких таблиц запрашиваются (в @Test2 несколько разных tablename) - тогда что делать? Не, че-то это не ежик, а фигня какая-то у вас.
16 май 11, 19:54    [10660974]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить