2014-03-31 28 views
0

我有一個存儲過程,我正在將一些數據存入臨時表(temp2)。數據是這樣的:如何將新列添加到臨時表

component_id  pub_id 
52663    12345 
52663    12346 
52663    12347 
52663    12348 
45632    21456 
45632    21457 
45632    21458 

現在我希望通過柱的pub_id的項目和每個pub_id分組迭代,其它表找到文章日期的價值。我使用下面的代碼:

SET @getid = CURSOR FOR select pub_id from #temp2 
OPEN @getid 
FETCH NEXT 
FROM @getid INTO @pub_id 
WHILE @@FETCH_STATUS = 0 

BEGIN 

Select Date_Value from CUSTOM_META where ITEM_ID = @pub_id and KEY_NAME = 'ArticleDate' 

FETCH NEXT 
FROM @getid INTO @pub_id 

END 

雖然我能得到每個的pub_id的日期,我不知道如何將它們插入每個相應的pub_id旁邊。我想輸出是這樣的:

component_id  pub_id  Date_Value 
    52663   12345  12/11/11 
    52663   12346  12/23/12 
    52663   12347  01/30/13 
    52663   12348  09/23/07 
    45632   21456  09/23/07 
    45632   21457  09/23/07 
    45632   21458  09/23/07 

我該如何實現這個輸出?

+1

你爲什麼要使用遊標要做到這一點,而不是簡單的SQL? – Paul

+0

我是新來的。在網上找到這種方法。如果你能提出更好的方法,我會很高興。 –

回答

2

試試這個:

SELECT t.component_id, t.pub_id, m.Date_Value 
FROM #temp2 t 
JOIN CUSTOM_META m 
ON t.pub_id = m.ITEM_ID 
AND m.KEY_NAME = 'ArticleDate' 
+0

+1 - 擊敗我! ; o) – Paul

+0

布拉沃。謝謝。 :) –

+0

@RossCooper:只需添加一下,Ross,您可能會發現[此鏈接](http://www.sql-tutorial.net/SQL-JOIN.asp)有用。 – Paul