如何在sql 2000中获得以下结果?
表1 2列如何在sql 2000中获得以下结果?,sql,sql-server-2000,Sql,Sql Server 2000,表1 2列 pack no 20 20 20 20 20 20 30 30 30 30 30 Serial no 12 13 14 15 16 17 18 19 20 21 22 我需要的结果是 pack no 20 30 serial no 12-17 18-22 如果这些字段都是数字 SELECT packNo, CAST(min_serial AS VARCHAR(12)) +
pack no 20 20 20 20 20 20 30 30 30 30 30
Serial no 12 13 14 15 16 17 18 19 20 21 22
我需要的结果是
pack no 20 30
serial no 12-17 18-22
如果这些字段都是数字
SELECT packNo,
CAST(min_serial AS VARCHAR(12)) + '-' + CAST(min_serial AS VARCHAR(12)) serial_no
FROM
(
SELECT packNo,
MIN(serialNo) min_serial,
MAX(serialNo) max_serial
FROM TableName
GROUP BY packNo
) subtable
您可以使用min和max函数来实现这一点。最好在列名中使用下划线,而不是空格
请尝试:
select
[pack no],
CAST(MIN([Serial no]) AS NVARCHAR(10))+'-'+CAST(MAX([Serial no]) AS NVARCHAR(10)) as [Serial no]
from
YourTable
group by [pack no]
值20和30是静态的,还是有其他值?
select
[pack no],
CAST(MIN([Serial no]) AS NVARCHAR(10))+'-'+CAST(MAX([Serial no]) AS NVARCHAR(10)) as [Serial no]
from
YourTable
group by [pack no]