【发布时间】:2015-04-03 22:23:04
【问题描述】:
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”无效。
对于连接列的上述查询,但是当我分别对连接列运行选择时,它们运行良好。这太奇怪了。一个连接列是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
有人知道发生了什么吗?
【问题讨论】:
-
能否提供
STG_TRXN的结构? -
... 对于另一张桌子也是如此。
-
这些表(
STG_TRXN和CCD_NULL)是视图还是存储过程?而[Expected Country Code]是从哪里来的? -
@MartinSmith - 添加了表结构。预期的国家代码来自 CCD_NULL_BNF 表。
-
将日期和金额等内容存储为 varchar(255) 是一种可怕的做法,会在以后给您带来严重问题,例如在排序或进行范围搜索时。
标签: sql sql-server sql-server-2008 select join