2017-03-01 81 views
0

我試圖爲多個股票提取價格數據。一切都在列,包括當我嘗試爲多個股票提取數據時的代碼,我無法弄清楚如何在每個股票的列標題中顯示股票代碼。下面的代碼適用於一個股票,但兩個都沒有返回。SQL將列標題更改爲另一列的值

這是我得到一個股票:

RecDate  TKR PRI 

9/18/2002 CVS 13.86 

但我希望能夠得到這樣的:

RecDate  CVS ORCL 

9/18/2002 13.86 60 

一直用這個來拉動價格:

SELECT RecDate, TKR, PRI FROM dbo.Stockdatabase 
WHERE RecDate >= DateAdd(YEAR, -5, GetDate()) AND TKR='CSCO' 
ORDER BY TKR 

如何讓這項工作爲多個股票?謝謝!

+1

聽起來像是你想有一個動態的支點 – scsimon

回答

2

可以使用條件聚集或pivot

SELECT RecDate, 
     MAX(CASE WHEN TKR = 'CSCO' THEN PRI END) as pri_csco, 
     MAX(CASE WHEN TKR = 'ABC' THEN PRI END) as pri_abc 
FROM dbo.Stockdatabase s 
WHERE RecDate >= DateAdd(YEAR, -5, GetDate()) AND 
     TKR IN ('CSCO' , 'ABC') 
GROPU BY RecDate 
ORDER BY RecDate; 
+0

完美。謝謝,戈登! –

相關問題