首页 > 解决方案 > 缺少对象或列名称或为空。但不是吗?

问题描述

我正在处理我一直在处理的第 7 组查询,并且所有这些查询都SELECT * INTO some_table没有问题地使用。由于某种原因,SQL Server 中的以下查询引发了错误

缺少对象或列名称或为空。对于 SELECT INTO 语句,验证每一列都有一个名称。对于其他语句,请查找空别名。不允许使用定义为 "" 或 [] 的别名。将别名更改为有效名称。

关于它可能是什么的任何想法?请注意,在没有 的情况下运行查询select into将导致数据按预期返回和显示。

Select * into MYDB.MY_TBL
SELECT OT.U_ID AS "U_ID"
    ,R.E AS "E"
    ,R.IR AS "CKT"
    ,A.RI AS "OC"
    ,A.EQ AS "SEQ"
    ,A.HA AS "CHA"
    ,A.A_HA AS "ATE"
    ,A.BIL AS "BIL"
    ,A.CHA AS "CHAA"
    ,A.RAT AS "AMT"
    ,A.PRM AS "PREM"
    ,A.T_CHG AS "RAT"
    ,A.PER AS "LAS"
    ,A.S_BIL AS "BIL_A"
    ,A.CD AS "CDE"
    ,A.CBIL_J AS "BIL_J"
    ,A.AMT_D AS "TB"
    ,A.CRY AS "CTRY"
    ,A.RVW AS "RVW"

FROM MYDB.OTHER_TBL OT
JOIN [LINKEDSERVER\INST,0000].FE.dbo.tblR R
    ON OT.E = R.E
JOIN [LINKEDSERVER\INST,0000].FE.dbo.tblA A
    ON R.IR = A.IR

WHERE OT.U_ID = 'TEST'

标签: sqlsql-serversql-insert

解决方案


你有两个selects。我想你只是想要:

SELECT OT.U_ID AS "U_ID",
       . . .
INTO MYDB.MY_TBL
FROM . . . 

INTO应该遵循列SELECT列表。

或者,您可以使用子查询,但这似乎没有必要。


推荐阅读