小编典典

``ubquery返回了多个值''错误

sql

SELECT [schoolname] AS combinationschools, 
       CASE 
         WHEN [schoolname] LIKE '%/%' THEN (SELECT value 
                                            FROM 
         [dbo].[Split]('/', '#6/#9E/#9M')) 
       END          AS schoolname 
FROM   [dbo].[schools];

我正在像明智的那样获得q sql错误-

子查询返回了1个以上的值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。


阅读 128

收藏
2021-04-15

共1个答案

小编典典

当使用这样的子查询时,每个记录的结果集中只能有一个记录。显然,您的表Split具有多个记录。

使用联接而不是子查询。或通过将其连接到子查询中的schools表来使其成为关联的子查询,或仅提取Max或min记录,或在thw子查询中进行某种where子句以仅获取一条记录。如果不查看表结构和数据,很难确切确定要做什么。

2021-04-15