2013-08-30 167 views
0

達到此目的的最佳方法是什麼?我對連接不太好,我認爲這就是在這種情況下必須要做的。這需要一些幫助。TSQL查詢幫助

我有2個表,一個員工表和一個記錄表。我的查詢將從表1中獲取一行並將其插入到表2中。問題是,如何執行此操作並傳遞變量?

我想過這樣做:

INSERT INTO table 2 
(
col1 
,col2 
) 
SELECT 
    col1 
,col2 
FROM table 1 
WHERE user = col1 

但我還需要添加不在表中,但事情我已經傳遞到存儲過程的變量。

我認爲它必須是一個連接,但不知道如何加入和插入我回來的數據。

Table 1 
-Col 1 
-Col 2 
-Col 3 
-Col 4 
-Col 5 


Table 2 
-Col 1 
-Col 2 
-Col 3 
-Col 4 
+0

請提及一些模式細節,以及2個表中是否有需要匹配值的公共列。 – Sonam

回答

1

您可以簡單地使用使用的變量。你可能會過度思考它。

INSERT INTO table 2 
(
col1 
,col2 
,col3 
) 
SELECT 
col1 
,col2 
,@MyVariable 
FROM table 1 
WHERE user = col1 

EDIT:刪除變量聲明,作爲OP指出,變量是一個存儲的過程參數(感謝指出了這一點,@Sonam)。

+0

我的印象是,select查詢中的任何內容都必須來自該表。感謝您的快速響應 – SBB

+0

@Ryan Henderson:她不必聲明變量,因爲她是通過作爲參數傳遞的存儲過程獲取它的。 – Sonam

+0

@Sonam你是對的。我會更新我的答案。 – htxryan