我有一个存储过程,它执行下面的SQL . 这给了我运行时错误:'子查询返回的值超过1 . 当子查询遵循=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做 . 我知道我的子查询返回的值超过1,但我很难找到解决方法 . 基本上我正在尝试选择没有4个或更多连续字符的所有公司名称 . 请帮忙 .
select @flag = 1 from [dbo].[Country] where 1 =( SELECT 1
FROM tabC c
WHERE NOT EXISTS (SELECT 1
FROM (SELECT REPLICATE(CHAR(32 + N), 4) AS val
FROM (select top 95 row_number() over(order by t1.number) as N
from master..spt_values t1) AS s) mul
WHERE CHARINDEX(mul.val,c.CompanyName) > 0))
2 回答
只是使用聚合?
或不同的;
确保只返回一行