繁体   English   中英

无效的列错误,即使SQL Server中存在列

[英]Invalid column error even when column exists in SQL Server

SELECT 
    S.EY_BNF_ADDR,S.[EY_BNF_COUNTRY], [Expected Country Code]
FROM 
    STG_TRXN S
JOIN 
    CCD_NULL_BNF C ON C.EY_BNF_ADDR = S.EY_BNF_ADDR

我正进入(状态

消息207,第16级,州1,第3行
无效的列名“ EY_BNF_ADDR”。

对于以上关于连接列的查询,但是当我分别在连接列上运行select时,它们运行良好。 太奇怪了 一连接varchar(765) null ,另一varchar(8000) null

这是结构

CREATE TABLE [dbo].[CCD_NULL_BNF]
(
    [EY_ BNF_ADDR] [varchar](8000) NULL,
    [EY_BNF_COUNTRY] [varchar](255) NULL,
    [Expected Country Code] [varchar](255) NULL
) ON [PRIMARY]
GO

对于粘贴下表的巨大结构,我深表歉意-

CREATE TABLE [dbo].[STG_TRXN]
(
    [ID] [bigint] IDENTITY(1,1) NOT NULL,
    [EY_ID] [bigint] NOT NULL,
    [SOURCE_FILE] [varchar](255) NOT NULL,
    [ACC_NO] [varchar](255) NULL,
    [ACC_TYPE] [varchar](255) NULL,
    [CR_ACC_NO] [varchar](255) NULL,
    [CR_ACC_TYP] [varchar](255) NULL,
    [SERVICE] [varchar](255) NULL,
    [VALUE_DATE] [varchar](255) NULL,
    [AMOUNT] [varchar](255) NULL,
    [OGB] [varchar](255) NULL,
    [OGB_ID] [varchar](255) NULL,
    [OGB_BIC] [varchar](255) NULL,
    [OGB_ADDR1] [varchar](255) NULL,
    [OGB_ADDR2] [varchar](255) NULL,
    [OGB_ADDR3] [varchar](255) NULL,
    [ORG] [varchar](255) NULL,
    [ORG_ID] [varchar](255) NULL,
    [ORG_ADDR1] [varchar](255) NULL,
    [ORG_ADDR2] [varchar](255) NULL,
    [ORG_ADDR3] [varchar](255) NULL,
    [ORG_BIC] [varchar](255) NULL,
    [OBI] [varchar](255) NULL,
    [BBI] [varchar](255) NULL,
    [OUTSERVICE] [varchar](255) NULL,
    [DIRECTION] [varchar](255) NULL,
    [MID] [varchar](255) NULL,
    [LOCAL_REF] [varchar](255) NULL,
    [IBK] [varchar](255) NULL,
    [IBK_ADDR1] [varchar](255) NULL,
    [IBK_ADDR2] [varchar](255) NULL,
    [IBK_ADDR3] [varchar](255) NULL,
    [IBK_BIC] [varchar](255) NULL,
    [BNF] [varchar](255) NULL,
    [BNF_ADDR1] [varchar](255) NULL,
    [BNF_ADDR2] [varchar](255) NULL,
    [BNF_ADDR3] [varchar](255) NULL,
    [BNF_BIC] [varchar](255) NULL,
    [BNF_ID] [varchar](255) NULL,
    [BBK] [varchar](255) NULL,
    [BBK_BIC] [varchar](255) NULL,
    [BBK_ADDR1] [varchar](255) NULL,
    [BBK_ADDR2] [varchar](255) NULL,
    [BBK_ADDR3] [varchar](255) NULL,
    [COUNTRYCODE] [varchar](255) NULL,
    [orig_rfb] [varchar](255) NULL,
    [EY_IBK_ADDR1] [varchar](255) NULL,
    [EY_IBK_ADDR2] [varchar](255) NULL,
    [EY_IBK_ADDR3] [varchar](255) NULL,
    [EY_OGB_ADDR1] [varchar](255) NULL,
    [EY_OGB_ADDR2] [varchar](255) NULL,
    [EY_OGB_ADDR3] [varchar](255) NULL,
    [EY_ORG_ADDR1] [varchar](255) NULL,
    [EY_ORG_ADDR2] [varchar](255) NULL,
    [EY_ORG_ADDR3] [varchar](255) NULL,
    [EY_BNF_ADDR1] [varchar](255) NULL,
    [EY_BNF_ADDR2] [varchar](255) NULL,
    [EY_BNF_ADDR3] [varchar](255) NULL,
    [EY_BBK_ADDR1] [varchar](255) NULL,
    [EY_BBK_ADDR2] [varchar](255) NULL,
    [EY_BBK_ADDR3] [varchar](255) NULL,
    [EY_IBK_COUNTRY] [varchar](255) NULL,
    [EY_OGB_COUNTRY] [varchar](255) NULL,
    [EY_BNF_COUNTRY] [varchar](255) NULL,
    [EY_BBK_COUNTRY] [varchar](255) NULL,
    [EY_OGB] [varchar](255) NULL,
    [EY_ORG] [varchar](255) NULL,
    [EY_BNF] [varchar](255) NULL,
    [EY_OBI] [varchar](255) NULL,
    [EY_BBI] [varchar](255) NULL,
    [IS_DELETE] [bit] NULL,
    [CREATE_DT] [datetime] NULL,
    [UPDATE_DT] [datetime] NULL,
    [IS_MOVED] [char](1) NULL,
    [IS_MOVED_DT] [datetime] NULL,
    [COMMENT] [varchar](255) NULL,
    [BNF_BANK_COUNTRY] [varchar](255) NULL,
    [ORG_BANK_COUNTRY] [varchar](255) NULL,
    [INTER_BANK_COUNTRY] [varchar](255) NULL,
    [EY_OGB_ADDR] [varchar](765) NULL,
    [EY_BNF_ADDR] [varchar](765) NULL,
    [EY_IBK_ADDR] [varchar](765) NULL,
    [EY_ORG_ADDR] [varchar](765) NULL,
    [EY_ORG_COUNTRY] [varchar](255) NULL,
    [EY_BBK_ADDR] [varchar](800) NULL,
    [EY_ORG_ID] [varchar](255) NULL,
    [EY_BNF_ID] [varchar](255) NULL,
    [EY_ORG_PARTY] [varchar](255) NULL,
    [EY_BNF_PARTY] [varchar](255) NULL
) ON [PRIMARY]
GO

有人知道发生了什么吗?

在您的表中:

CREATE TABLE [dbo].[CCD_NULL_BNF](
    [EY_ BNF_ADDR] [varchar](8000) NULL,
    [EY_BNF_COUNTRY] [varchar](255) NULL,
    [Expected Country Code] [varchar](255) NULL
) ON [PRIMARY]

注意[EY_ BNF_ADDR] EY_后有一个空格

你可以看到复制的错误在这里固定在这里

只需删除字段名称[EY_BNF_ADDR]中的空格:

CREATE TABLE [dbo].[CCD_NULL_BNF]
(
    [EY_BNF_ADDR] [varchar](8000) NULL,
    [EY_BNF_COUNTRY] [varchar](255) NULL,
    [Expected Country Code] [varchar](255) NULL
) ON [PRIMARY]
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM