SQL临时表中的多部分标识符

时间:2018-04-19 20:07:22

标签: sql sql-server

我正在尝试将现有表中的值插入临时表中。但是,我只想将一个表中的值等于另一个表的值插入到我的临时表中(对不起,如果这令人困惑)

这是我的代码:

select * into
#gl_chart_av
from glchart where glchart.account_code = AdaptInvalidAccts.account_code

我只想插入临时表中的glchart表中的数据,glchart表中的帐户代码与AdaptInvalidAccts表中的帐户代码相匹配。但是,我得到一个多部分标识符错误。有谁知道我怎么解决这个问题?

2 个答案:

答案 0 :(得分:2)

这听起来像是你要使用EXISTS的情况。它只会根据account_code匹配从gltchart返回AdaptInvalidAccts中存在的记录。

select * 
into #gl_chart_av
from glchart 
where EXISTS (
SELECT 1 
FROM AdaptInvalidAccts
WHERE glchart.account_code = AdaptInvalidAccts.account_code)

至于标识符错误,您的代码中没有任何地方声明AdaptInvalidAccts.account_code上的AdaptInvalidAccts别名

答案 1 :(得分:0)

select glchart.* 
into #gl_chart_av
from 
    glchart 
    inner join AdaptInvalidAccts on glchart.account_code=AdaptInvalidAccts.account_code

select * 
into #gl_chart_av
from glchart 
where account_code in (
    select account_code from AdaptInvalidAccts
)