У меня есть две таблицы.make select query condition relative
Первая таблица tblCPWgts,
cp nvarchar(10)
cDate date
weight float
Второй стол tblCP
cp nvarchar(20)
code nvarchar(5)
Я в настоящее время есть запрос, как показано ниже
select * from
(
select cp, cDate, weight from tblCPWgts where cDate >= '2014-09-09'
)source pivot(max(weight) for cp in ([AB], [CD], [EF]) as pvt order by cDate
это работает отлично. Однако количество cp будет меняться в будущем. Поэтому вместо того, чтобы жестко кодировать их, как описано выше ([AB], [CD], [EF]), я хотел бы использовать таблицу tblCP, где код столбца имеет AB, CD, EF.
Есть ли способ настроить мой запрос выше, чтобы он не нуждался в жестком кодировании cp? Я попробовал ниже, но после написания он понял, что это явно не сработает, но это то, что я пытаюсь сделать.
select * from
(
select cp, cDate, weight from tblCPWgts where cDate >= '2014-09-09'
)source pivot(max(weight) for cp in (select code from tblCP) as pvt order by cDate
Вам нужно создать динамический запрос и использовать 'exec()' – artm
Я вижу, как это сделать? – mHelpMe