请解开一些SQL?
我正在尝试将Access查询迁移到SQL Server视图。我已经完成了Select部分,但是当我在FROM和WHERE中粘贴该部分时,我得到了一个“靠近“=”的语法错误”。我希望你们中的一位能够识别出那个错误(因为我无法识别)请解开一些SQL?,sql,sql-server,Sql,Sql Server,我正在尝试将Access查询迁移到SQL Server视图。我已经完成了Select部分,但是当我在FROM和WHERE中粘贴该部分时,我得到了一个“靠近“=”的语法错误”。我希望你们中的一位能够识别出那个错误(因为我无法识别) 首先格式化该SQL:) 最后一个“=True”看起来可疑-尝试删除它,并将其他True改为1。Yikes。回车和缩进要走很长的路;你应该找个时间试试。在ManagementStudio、VisualStudio等中管理代码时是否水平滚动。?另外,=True在SQL Se
首先格式化该SQL:)
最后一个“=True”看起来可疑-尝试删除它,并将其他True改为1。Yikes。回车和缩进要走很长的路;你应该找个时间试试。在ManagementStudio、VisualStudio等中管理代码时是否水平滚动。?另外,
=True
在SQL Server中无效-没有布尔数据类型。这些是BIT
列吗?如果是,请尝试将=True
更改为=1
,将=False
更改为=0
。如果它们是字符串,请使用='True'
或='False'
。SQL Server没有布尔类型,=True将不起作用。Egads Access为其联接提供了可怕的语法。除了那些奇怪的括号外,我看不到有什么可以简化的。他们添加了什么有用的东西吗?Access并没有推广这种语法,它实际上是在写语法。这些正是我所做的动作,语法是有效的。
FROM facility
INNER JOIN ((dbo.elmscoursereportlisttableaulink
INNER JOIN dbo.userlearningneeds
ON dbo.elmscoursereportlisttableaulink.[item id] =
dbo.userlearningneeds.[item id])
INNER JOIN roster
ON dbo.userlearningneeds.[user id] =
roster.[user id])
ON facility.[abbr] = roster.[routing symbol]
WHERE ( ( ( dbo.elmscoursereportlisttableaulink.report ) = true )
AND ( ( dbo.elmscoursereportlisttableaulink.active ) = true )
AND ( (
( dbo.userlearningneeds.[revision number] =
dbo.elmscoursereportlisttableaulink.[revision number] )
OR ( ( dbo.userlearningneeds.[revision number] ) IS NULL
AND ( dbo.elmscoursereportlisttableaulink.[revision number] ) IS
NULL
)
) = true ) );