Return SQL 服务器存储过程的 SELECT UNION 中的行数
Return a number of rows in a SELECT UNION of a SQL Server stored procedure
我有以下存储过程 returns 大量行。我想将行数限制为 50。如何在 SQL 服务器数据库的 UNION SELECT
查询中做到这一点?
CREATE PROCEDURE [dbo].[SD_photos]
(@IDuser NVARCHAR(50))
AS
BEGIN
SET NOCOUNT ON;
SELECT
photoFileName
FROM
photos
WHERE
IDuser = @IDuser
UNION ALL
SELECT
photoFileName
FROM
photos2
WHERE
IDuser = @IDuser
END
这似乎是 MS SQL 服务器,所以你可以使用 TOP 语法:
SELECT TOP 50 *
FROM
(
SELECT photoFileName FROM photos WHERE IDuser = @IDuser
UNION ALL
SELECT photoFileName FROM photos2 WHERE IDuser = @IDuser
) dt
我有以下存储过程 returns 大量行。我想将行数限制为 50。如何在 SQL 服务器数据库的 UNION SELECT
查询中做到这一点?
CREATE PROCEDURE [dbo].[SD_photos]
(@IDuser NVARCHAR(50))
AS
BEGIN
SET NOCOUNT ON;
SELECT
photoFileName
FROM
photos
WHERE
IDuser = @IDuser
UNION ALL
SELECT
photoFileName
FROM
photos2
WHERE
IDuser = @IDuser
END
这似乎是 MS SQL 服务器,所以你可以使用 TOP 语法:
SELECT TOP 50 *
FROM
(
SELECT photoFileName FROM photos WHERE IDuser = @IDuser
UNION ALL
SELECT photoFileName FROM photos2 WHERE IDuser = @IDuser
) dt