我目前在一个存储过程中使用以下代码(见下文)。为了返回总共10个结果,我取每个联合的前5个。然而,我想要取UNION的前10个,而不是每个的前5个。有什么想法吗?这可行吗?
BEGIN
SELECT TOP 5
a_object_ID as [id],
a_object_name as [name],
'A_object' as [Type]
FROM [database].[dbo].[table_a]
WHERE a_object_name LIKE @Search + '%'
UNION ALL
SELECT TOP 5
b_object_ID as [id],
b_object_name as [name],
'B_object' as [Type]
FROM [database].[dbo].[table_b]
WHERE b_object_name LIKE @Search + '%'
ORDER BY [name]
END