--Đánh số thứ tự
CREATE TABLE [dbo].[Numbers](
No int default 0,
Ma1 char(16) NULL,
Ma2 char(16) NULL
)
GO
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, '001', '')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, '001', 'VT01')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, '001', 'VT02')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, '001', 'VT03')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'ABC', '')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'ABC', 'VT01')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'ABC', 'VT04')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'XYZ', '')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'XYZ', 'VT05')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'XYZ', 'VT06')
INSERT Numbers (No, Ma1, Ma2)
VALUES(0, 'XYZ', 'VT07')
GO
--Khai báo biến
DECLARE @num int
--Trường hợp đánh số liên tục
SET @num = 0
UPDATE Numbers
SET @num = No = @num + 1
SELECT * FROM Numbers
--Reset lại số
SET @num = 0
UPDATE Numbers
SET @num = No = CASE WHEN RTRIM(Ma2) = '' THEN 0 ELSE @num + 1 END
SELECT * FROM Numbers
--Đánh số ngắt quãng
SET @num = 0
UPDATE Numbers
SET @num = CASE WHEN RTRIM(Ma2) = '' THEN @num ELSE @num + 1 END,
No = CASE WHEN RTRIM(Ma2) = '' THEN 0 ELSE @num END
GO
SELECT * FROM Numbers
DROP TABLE [dbo].[Numbers]
Không có nhận xét nào:
Đăng nhận xét