テーブルの顧客の一覧があり、それぞれの番号を割り当てて別のテーブルに保存したいとします。 ただし、シーケンスは毎月再起動する必要があります。SQL Serverの条件付きシーケンス番号
INSERT INTO tblSerialNo
SELECT CustomerNo
,FORMAT(getdate(), 'yyyyMM')
,ROW_NUMBER() OVER (ORDER BY CustomerNo ASC) AS SerialNo
FROM tblCustomer
しかしのSerialNo列の順序を続けても、月が変更されました:
現在、私はこのクエリを持っています。
電流出力:
--------------------------
|Customer|Month |SerialNo|
|--------+------+--------|
|17000001|201710|00001 |
|17000002|201710|00002 |
|17000003|201710|00003 |
|17000004|201710|00004 |
|17000005|201710|00005 |
|17000001|201710|00006 |
|17000002|201710|00007 |
|17000003|201710|00008 |
|17000004|201710|00009 |
|17000005|201710|00010 |
|17000001|201711|00011 |
|17000002|201711|00012 |
|17000003|201711|00013 |
|17000004|201711|00014 |
|17000005|201711|00015 |
--------------------------
所望の出力:
--------------------------
|Customer|Month |SerialNo|
|--------+------+--------|
|17000001|201710|00001 |
|17000002|201710|00002 |
|17000003|201710|00003 |
|17000004|201710|00004 |
|17000005|201710|00005 |
|17000001|201710|00006 |
|17000002|201710|00007 |
|17000003|201710|00008 |
|17000004|201710|00009 |
|17000005|201710|00010 |
|17000001|201711|00001 |
|17000002|201711|00002 |
|17000003|201711|00003 |
|17000004|201711|00004 |
|17000005|201711|00005 |
--------------------------
助けてください。前もって感謝します。
ような何かを行うことができます 'INSERT INTOを行うと仮定tblSerialNo'んでしょうか? – Salman