MSSQL:from-clause中的Msg 4104

时间:2017-06-21 06:54:35

标签: sql-server

我有一个基于表格的函数,可以获取模块的所有文章。 我想在from子句中使用这个函数,如下所示

select k.ArtNo as baugruppe, g.* 
from anw.artikel k, dbo.getmengenuebersicht (k.ArtNo) g
where k.ArtNo='5000062217'

我收到以下错误

  

Msg 4104,Level 16,State 1,Line 2   多部分标识符" k.ArtNo"无法受约束。

并且不知道为什么会发生这种情况。

1 个答案:

答案 0 :(得分:0)

如果getmengenuebersicht是表值函数,则应使用CROSS APPLY,以便在调用时可以引用artikel中的列:

select k.ArtNo as baugruppe, g.* 
from anw.artikel k cross apply dbo.getmengenuebersicht (k.ArtNo) g
where k.ArtNo='5000062217'

而且,一般来说,您的FROM条款不应该是using , joins。 ANSI连接在1992年被添加到SQL标准 - 世纪之前的一半。