子查询返回多个值。 !这当子查询遵循=,=,<, <= , >,> =
问题描述:
当我运行我的SQL查询,我得到子查询的错误不允许:子查询返回多个值。 !这当子查询遵循=,=,<, <= , >,> =
SELECT
[FileName], [FilePath]
FROM
dbo.[tb_CrawlData] cr
WHERE
cr.Content LIKE '%' + (SELECT content
FROM [tb_CrawlData]
WHERE Content like '%test%') + '%'
GROUP BY
cr.FileName, [FilePath]
ORDER BY
cr.FileName
下面的截图是我的数据库:
答
您可以使用exists
代替:
SELECT [FileName], [FilePath]
FROM dbo.[tb_CrawlData] cr
WHERE EXISTS (SELECT 1
FROM [tb_CrawlData] cd
WHERE cd.Content like '%test%' AND
cr.Content like '%' + cd.Context + '%'
)
GROUP BY cr.FileName, [FilePath]
ORDER BY cr.FileName ;
答
这是您的查询:
SELECT [FileName],[FilePath] FROM dbo.[tb_CrawlData] cr
WHERE cr.Content like '%' + (SELECT content FROM [tb_CrawlData]
WHERE Content like '%test%') + '%' GROUP BY cr.FileName,[FilePath]
ORDER BY cr.FileName
这是怎么回事?
select distinct FileName, FilePath
from tb_CrawlData
where content like '%test%'
order by FileName
+0
@丹......是的输出相同。谢谢您的帮助。 如何把这个声明放到我的c#中? –
@Gordon ......哇!这是快速和很好的答案。 感谢您的帮助