2013-04-10 47 views
0

嗨,我現在有一個小問題,我正在做SQL Server中的存儲過程。我想從多個表中得到一些結果並把它放到臨時表中。所以我想我可以使用一個「選擇進入」的聲明工作很好,直到我決定添加多個選擇到臨時表。例如:這裏是我的代碼:如何在同一個表上進行多重選擇?

while @Compteur <= @wrhCodeEnd 
    select lp.lotQty ,lp.lotID into ZeTable from TB_lotLot ltlt 
    inner join TB_lotPal lp on ltlt.lotID=lp.lotID 
    inner join TB_palSuper ps ON lp.spID=ps.spID 
    inner join TB_expExpeditionLot eel ON eel.lotID=lp.spID 
    where ps.wrhID <> @Compteur and 
    ltlt.wrhID = @Compteur and 
    lp.lotID not in(select ZeTable.lotID from ZeTable) 

的事情是,我不知道我是否可以多次選擇到在同一個臨時表,我有也想檢查WHERE子句中的表中的信息是不已經在那了。提前

+2

做「從多個表中選擇結果到臨時表的典型方法是」執行INSERT INTO ... SELECT FROM。不循環。你在RDMBS中,*使用*其基於集合的處理。 – 2013-04-10 19:03:42

+0

對,您不能使用SELECT INTO插入已存在的表。正如@NWest所說的,你必須使用INSERT INTO ... SELECT。其次我會嘗試使用基於集合的邏輯,如果它對您的應用程序有意義的話。 – JakeP 2013-04-10 19:05:44

+0

好的thx人爲您的答案。我創建了一個臨時表,並添加了我的選擇插入和其工作正常 – 2013-04-10 19:20:17

回答

1

THX您可以創建臨時表,可以使用INSERT語句與所需的列添加記錄,使用後可以將其刪除。

+0

好吧,但如果我想添加整個選擇到我的表我怎麼能做到這一點?我可以只是做一個INSERT INTO ##表值(select * from blabla) – 2013-04-10 19:15:55

+1

是的,你可以使用,從#DBTable插入#temptable select *。但是#temp應該和#DBTable具有相同的列。 – 2013-04-10 19:22:12

+0

是的,謝謝多數民衆贊成是我的想法 – 2013-04-10 19:28:37

相關問題