0
如果我有:在声明中不接受选择?
select * from Dealer DDDD
left join Filter FFFF on DDDD.dealer_id = FFFF.DealerId
WHERE FFFF.FilterId IN (CASE WHEN EXISTS (Select 1 from @filterIds) THEN (Select FilterId from @filterIds) ELSE FFFF.FilterId END)
@filterIds
是其中具有2个记录即时测试的表值参数。 如果我有它作为null或只有1值没有问题,但如果2个或更多的即时通讯“子查询返回多个1值时,子查询用作表达式。”错误。
我想测试它只是有:
WHERE FFFF.FilterId IN (Select FilterId from @filterIds)
和它的作品。
但我需要它与过滤器可能不会输入的考虑。
THANKs提前的家伙!
'where FFFF.FilterId = FFFF.FilterId'总是true当NULL为空时执行。目前还不清楚你问什么。此外,错误是明确的,你不能返回超过1个值的情况下statemen。添加数据样本的预期结果 – Horaciux
如果@filterIds有0行,我想要返回所有内容 – NoOne
我也试过了: AND FFF.FilterId IN(COALESCE((Select FilterId from @filterIds),FFFF.FilterId)) – NoOne