我试图按顺序查询数据(MAC地址),但仅显示找到的第一个数据。 它在大多数时间都有效,但是我猜找到多个MAC地址时会给我一个错误?有没有办法使此代码有效?
我得到的错误:
宏SQL错误-子查询返回的值超过1。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。
SWQL语言在stackoverflow中不存在,我无法添加它,所以我选择了SQL-server,但基本上是相同的。
select coalesce((select (MAC)
from NodeMACAddresses
where NodeID=$@nodeid@), NULLIF('${MAC_Address}', ''), 'MAC address missing')
答案 0 :(得分:1)
一种解决方法可能是:
select coalesce((select top 1 (MAC)
from NodeMACAddresses
where NodeID=$@nodeid@), NULLIF('${MAC_Address}', ''), 'MAC address missing')
现在,子查询将始终最多返回1行,并解决您的问题。但这仅在您只希望为每个节点显示现有MAC地址中的1个之前起作用。