我希望你能帮助我解决这两个问题。我将一堆代码从 Accessfile 复制到 MSSQL Server 以创建一些视图。到目前为止,一切都很好,但现在我卡住了......
一个问题与“IIF”命令有关:
IIf([T024_ArtStamm]![C002] Like "A*",[dbo_T023_ArtPreise]![C006],[A PreisListe 01]![C013]) AS Verrechnungspreis
我将其更改为:
IIf([Buran.dbo.T024_ArtStamm].[c002] like 'A%',
[Buran.dbo.T023_ArtPreise].[C006],
[Buran.dbo.A_PreisListe_01].[C013]) AS Verrechnungspreis
对我来说,它看起来是正确的。但是服务器有一些问题......
Msg 156, Level 15, State 1, Line 12
Incorrect syntax near the keyword 'like'.
我也尝试过'=',但同时我没有想法......
第二个问题与内部连接有关:再次在 Access 中工作正常:
Select [...]
FROM ((((T024_ArtStamm INNER JOIN
dbo_t057 AS dbo_T057_ArtZusatz ON
(T024_ArtStamm.c106 = dbo_T057_ArtZusatz.c000) AND
(T024_ArtStamm.mesocomp = dbo_T057_ArtZusatz.mesocomp) AND
(T024_ArtStamm.mesoyear = dbo_T057_ArtZusatz.mesoyear)) INNER JOIN [--goes on for a while--]
我对其进行了转换,以便可以找到所有表格...
Select [...]
--Line 54
FROM ((((Buran.dbo.T024_ArtStamm INNER JOIN
--/
CWLDATEN_91.dbo.t057 AS Buran.dbo.T057_ArtZusatz ON
(Buran.dbo.T024_ArtStamm.c106 = dbo.T057_ArtZusatz.c000) AND
(Buran.dbo.T024_ArtStamm.mesocomp = dbo.T057_ArtZusatz.mesocomp) AND
(Buran.dbo.T024_ArtStamm.mesoyear = dbo.T057_ArtZusatz.mesoyear)) INNER JOIN [--and it goes on--]
但错误是
Msg 102, Level 15, State 1, Line 54 Incorrect syntax near 'Buran'.
我检查了所有表格 - 它们存在。我尝试使用 Squirrel SQL 而不是 SQL Server 管理器并得到相同的错误...
我哪里错了?