我在表中有一个选择 n 底部记录,并在同一行中返回一个连接值。这是代码可以但不返回 n 底部记录:
SELECT
STUFF((
SELECT '; ' +
ISNULL(Val1, '') + '; ' +
ISNULL(Val2, '') + '; ' +
ISNULL(Val3, '') + '; ' +
ISNULL(Val4), '')
FROM Table_x
FOR XML PATH ('')), 1, 2, '') AS val;
我写了其他查询返回 n 底部记录,但我需要将 KEPServerEX 与 ODBC 连接一起使用,它只支持 SELECT 和 EXECUTE:
DECLARE @max_id INT
SELECT @max_id = MAX(id) FROM table_x
SET @max_id = @max_id - 20
SELECT
STUFF((
SELECT '; ' +
ISNULL(val1, '') + '; ' +
ISNULL(val2, '') + '; ' +
ISNULL(val3, '') + '; ' +
ISNULL(val4, 14), '')
FROM
(
SELECT *
FROM table_x
WHERE id > @max_id
) AS Latest_rec
FOR XML PATH ('')), 1, 2, '') AS val;
我需要长话短说。例如:val1;val2;val3; val4; val1; val2; val3; val4。
我使用 Microsoft SQL Server 2012 (SP3) - 11.0.6020.0 (X64) Express Edition(64 位)。但问题是只接受 SELECT 和 EXECUTE 的 KEPServerEX。
目前,我找不到其他查询在 KEPServerEX 支持的同一行中返回 n 条底部记录。