运行此查询后,我收到以下错误。
DECLARE@Type int,@SearchStr2 nvarchar(200)
SET @Type=1
SET @SearchStr2 = 'A'
SELECT * FROM Document WHERE DocNo in(
CASE @Type
WHEN 1 THEN
(SELECT DocNO FROM Publisher WHERE CONTAINS((PublisherName), @SearchStr2)
)
WHEN 2 THEN
(SELECT DocNO FROM Publisher WHERE CONTAINS((PublishedPlace), @SearchStr2)
)
WHEN 3 THEN
(SELECT DocNO FROM Publisher WHERE CONTAINS((PublishedDate), @SearchStr2)
)
END
)
消息 512,级别 16,状态 1,第 4 行子查询返回超过 1 个值。当子查询跟在 =、!=、<、<=、>、>= 之后或当子查询用作表达式时,这是不允许的。