我有一個表A: (ID INT,一批INT,new_batch INT)SQL服務器:DENSE_RANK()
ID和批次已填充:
ID Batch New_Batch
1 01 NULL
2 01 NULL
3 02 NULL
4 02 NULL
5 02 NULL
6 03 NULL
7 04 NULL
8 05 NULL
現在我想填充New_batch根據到以下選擇語句。
(select batch from tableA where id in (3,8))
- 現在這個select語句,我們得到了一批= 02和批= 5。現在我想分配new_batch,這樣select語句的結果應該先排序(batch02然後是batch05),剩下的數據應該按照批次NOT的順序在select語句中排序。 (批次1,3,4) 結果應該是:
ID Batch New_Batch
1 01 03
2 01 03
3 02 01
4 02 01
5 02 01
6 03 04
7 04 05
8 05 02
感謝。 PS:DENSE_RANK()可以使用,請不要硬編碼!
不要硬代碼是什麼?你認爲有人會給你8條更新聲明嗎? –
不,我的意思是不一樣的情況下批量使用時,2然後1等你不會相信我在其他論壇*多麼可笑的反應獲得。* –
所以,如果你有一個'其中id在(8,3)'它應該返回一個**不同的結果? –