Art*_*t F 2 sql t-sql sql-server
我有一个看起来像这样的查询:
SELECT *
FROM dbo.document_library_file_attributes
WHERE my_file_id=
(SELECT my_file_id
FROM dbo.document_library_file_attributes
WHERE attribute_name='Directory/Key' AND attribute_value LIKE @directory+'%')
Run Code Online (Sandbox Code Playgroud)
我希望子查询能够返回多个结果,这意味着my_file_id可以等于'directoryA','directoryB',我想要所有这些结果.我该怎么办?
使用IN而不是=结果集:
SELECT *
FROM dbo.document_library_file_attributes
WHERE my_file_id IN
(SELECT my_file_id
FROM dbo.document_library_file_attributes
WHERE attribute_name='Directory/Key' AND attribute_value LIKE @directory+'%')
Run Code Online (Sandbox Code Playgroud)
它:
确定指定的值是否与子查询或列表中的任何值匹配.