【发布时间】:2016-01-14 23:04:43
【问题描述】:
我没有从查询中返回结果。起初我认为这只是一个错误的查询 - 不应该返回任何数据,但现在看来它可能是导致问题的语法错误。
在 Visual Studio 的服务器资源管理器中运行存储过程(查询是其中的一部分)时,我从第一个查询中获取数据,但是这个(更新)不返回任何数据(没有错误消息,但也没有数据)。然而,当我尝试在 LINQPad 中仅运行存储过程的这一部分时,到处都是程序员的挚友声称它发现了令人生畏的“错误 102:',' 附近的语法不正确。 "
它指向这条线:
and ItemCode in (Select ItemCode from UnitProducts where Unit='BIG RED ONE')),'X')
...(唯一带有','的行),但我不明白问题出在哪里。我还尝试了这个主题的变化:
and ItemCode in (Select ItemCode from UnitProducts where Unit='BIG RED ONE'),'X'))
...但是错误的消息是一样的。
这是我在 LINQPad 中尝试的整个查询:
isnull((Select top 1 ItemCode
From PlatypusUnitMapping
where Unit='BIG RED ONE'
and MemberNo='42'
and MemberItemCode= '314IMPie'
and ItemCode in (Select ItemCode from UnitProducts where Unit='BIG RED ONE')),'X')
那么这有什么问题呢?更简单的查询版本有效:
Select top 1 ItemCode
From PlatypusUnitMapping
where Unit='BIG RED ONE'
and MemberNo='42'
and MemberItemCode= '314IMPie'
and ItemCode in
(Select ItemCode from UnitProducts where Unit='BIG RED ONE')
...但我需要“isNull”爵士乐来进行后续查询。什么语法无效,我怎样才能使它有效/修复它?
更新
在 NMM 的推动下,我也尝试了这个:
and (ItemCode in (Select ItemCode from UnitProducts where Unit='BIG RED ONE'))),'X')
...但无济于事。
【问题讨论】:
-
“这是我在 LINQPad 中尝试的整个查询:”但这不是一个完整的查询。在任何情况下,您粘贴的部分都有一个悬空的 WHERE 子句:
Where NHItemCode='X'。 -
是的,我已经 86 岁了;这是糟糕的juju。
标签: tsql stored-procedures linqpad isnull