在下面的sql查询中,当试图将该子查询的结果存储到新表t_test时,子查询成功执行。我收到错误
')'
附近的语法不正确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 :(得分: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
已存在,则运行此查询时会出错。
答案 1 :(得分: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;