我有兩個表。使選擇查詢條件相對
一臺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])那樣對它們進行硬編碼。我想使用列碼爲AB,CD,EF的表tblCP。
有無論如何調整我的查詢上面,以便它不需要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