T-SQL:@variable |内连接| 2数据库

时间:2015-06-15 19:40:47

标签: tsql sql-server-2008-r2

SQL Server 2008 R2 - 实例中的{2}数据库,Mandant_2tlock

我需要在@variable的数据库之间使用内部联接SQL命令:

    DECLARE @t AS TABLE (
        c VARCHAR(100)
    )

    INSERT @t VALUES ('[Mandant_2].[dbo].[tartikel]')

UPDATE tlock.dbo.temp SET Warengruppe = a.kWarengruppe
FROM tlock.dbo.temp d
INNER JOIN @t a ON d.HAN = a.cHAN

我收到错误:

  

消息207,级别16,状态1,过程spMyStoreProduced,第39行
  列名称“cHAN”无效。

不幸的是我不明白为什么。

由于

1 个答案:

答案 0 :(得分:0)

代码中的最后一行是什么意思

INNER JOIN @t a ON d.HAN = a.cHAN

表@t的列名为c,但没有名为cHAN的列。 你的意思是说

INNER JOIN @t a ON d.HAN = a.c

概念证明:

试试这个

DECLARE @t AS TABLE (
c VARCHAR(100)
)

INSERT @t VALUES ('[Mandant_2].[dbo].[tartikel]')

select cHAN from @T

你会得到

Msg 207, Level 16, State 1, Line 7
Invalid column name 'cHAN'.