无法弄清楚为什么我收到无效的列名错误

时间:2012-12-28 15:00:58

标签: sql-server tsql sql-server-2008

我正在使用这两个临时表(它们实际上是由以前的开发人员编写的,我试图在不使用游标的情况下更快地调整代码,但这不是重点)并且我已经运行了一个我无法弄清楚的小问题。

以下是一些代码:

CREATE TABLE #bc1 (
         [ContractID] decimal
        ,[custid] int
        ,[PostDate] date
        ,[RouteID] varchar(50)
        ,[RouteCommission] money
        ,[ContractTotal] money
        ,[ContractTotal0] money
    )

    INSERT INTO #bc1 ( [ContractID], [custid], [PostDate], [RouteID], [RouteCommission] )
    SELECT
         t.[ContractID]
        ,t.[custid]
        ,t.[PostDate]
        ,t.[RouteID]
        ,t.[RouteCommission]
    FROM 
        #tc1 t;

现在,你可以看到它非常简单。有一个用{5}列创建的表#bc1,它从另一个有7列的表中获取所有数据。在查询的中间(这大约是四页,这就是为什么我没有包含它),这几乎就是它,这就是它破坏的地方。它告诉我

  

Msg 207,Level 16,State 1,Line 178
  列名称'custid'无效。

这让我疯了。顺便说一下,第178行是插入语句。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

 Can you try 'SELECT * FROM #tc1' as a test (without inserting into #bc1 table).