Таблица 1Как получить следующий результат в sql 2000?
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
Таблица 1Как получить следующий результат в sql 2000?
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)) + '-' + 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], convert(varchar(10),min([Serial no])) + '-' +
convert(varchar(10),max([Serial no])) as [Serial no]
from yourTable
group by [pack no]
Пожалуйста, попробуйте:
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 статических, или есть другие ценности? – Bridge