2015-10-16 157 views
0

在下面的SQL查詢,子查詢成功執行,試圖子查詢的結果保存到一個新的表t_test.I我得到錯誤的結果SQL查詢到一個新表

附近有語法錯誤時')'

select * into t_test from 
(select prm.RNumber, 
case when pom.Category = 'Medicine' 
    then pom.field 
    end as [Dept], 
pop.branch 
from tbl_pr_m prm join tbl_po_m pom on prm.rnumber = pom.rnumber 
join tbl_po_p pop on prm.rnumber = prm.rnumber); 

我可以知道,如何將結果存儲到新表t_test中。

回答

0

如果你真的想保持你的外部查詢,你需要給內部查詢的名稱作爲表

select * into t_test from 
(select prm.RNumber, 
case when pom.Category = 'Medicine' 
    then pom.field 
    end as [Dept], 
pop.branch 
from tbl_pr_m prm join tbl_po_m pom on prm.rnumber = pom.rnumber 
join tbl_po_p pop on prm.rnumber = prm.rnumber) as originalResult; 
+0

謝謝,我買了你的查詢新表t_test。 – Kumar

+1

外部查詢不是必需的IMO。 –

0

由於您只是從內部查詢中選擇所有內容,因此您的原始外部查詢似乎沒有多大用處。你可以將其刪除,然後使用SELECT ... INTO NewTable結構:

SELECT prm.RNumber, CASE WHEN pom.Category = 'Medicine' THEN pom.field END AS [Dept], 
    pop.branch 
INTO t_test 
FROM tbl_pr_m prm JOIN tbl_po_m pom ON prm.rnumber = pom.rnumber 
JOIN tbl_po_p pop ON prm.rnumber = prm.rnumber 

注意,如果該表t_test已經存在,你會運行此查詢時,得到一個錯誤。

+0

感謝蒂姆Biegeleisen, – Kumar