2014-11-02 39 views
-3

我在SQL Server選擇的數據傳遞給SQL Server中的另一個查詢

SELECT JOINT_NO_PGZ, 
     MAT_0_PGZ, 
     Sum(QTY_0_PGZ), 
     Mat_1_PGZ, 
     Sum(qty_check_1_PGZ), 
     Line_Number_PGZ 
FROM [PGC].[dbo].[HISTORies] 
GROUP BY JOINT_NO_PGZ, 
      Line_Number_PGZ, 
      MAT_0_PGZ, 
      Mat_1_PGZ 

在SELECT查詢中有一個這樣的查詢我有2列MAT_0_PGZ和Mat_1_PGZ,我應該通過這些值到另一個表和獲得基於該表的結果,但我不知道如何傳遞這些值到另一個查詢我的意思是:

SELECT JOINT_NO_PGZ, 
     MAT_0_PGZ, 
     Sum(QTY_0_PGZ), 
     Mat_1_PGZ, 
     Sum(qty_check_1_PGZ), 
     Line_Number_PGZ, 
     (Function(MAT_0_PGZ, Mat_1_PGZ)) 
FROM [PGC].[dbo].[HISTORies] 
GROUP BY JOINT_NO_PGZ, 
      Line_Number_PGZ, 
      MAT_0_PGZ, 
      Mat_1_PGZ 

我是新來的SQL Server。

問候

+1

你的問題太寬泛了,因爲我們不知道該函數調用應該做什麼。您可以通過這種方式調用函數,但我不會在GROUP BY中提供建議,性能可能會很差。也許你可以重新思考這個問題,並確定你實際上想要實現的是什麼,而不是假設它是一個函數調用。 – 2014-11-02 06:03:17

+0

我可以使用光標嗎? – 2014-11-02 06:04:12

+0

如果您只需要一條語句就可以將它包裝在[CTE(公用表表達式)]中(http://technet.microsoft.com/en-us/library/ms190766%28v=sql.105% 29.aspx) - 否則,您需要將結果存儲到臨時表中 – 2014-11-02 08:28:33

回答

1

您應該使用insert into...

insert into [your table] values (col1, col2) 

SELECT JOINT_NO_PGZ, 
 
     MAT_0_PGZ, 
 
     Sum(QTY_0_PGZ), 
 
     Mat_1_PGZ, 
 
     Sum(qty_check_1_PGZ), 
 
     Line_Number_PGZ 
 
FROM [PGC].[dbo].[HISTORies] 
 
GROUP BY JOINT_NO_PGZ, 
 
      Line_Number_PGZ, 
 
      MAT_0_PGZ, 
 
      Mat_1_PGZ

,比使用您的第二個查詢

0

檢查了這一點:

insert into (table_name) (column_names separated by commas) (the select statement with the columns you want to transfer separated also by commas) 

例如:

insert into studentTable (Student_ID, Student_Class) (select Student_ID, Student_Class from StudentMarks) 

,將工作。

相關問題