我有一个表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)'它应该返回一个**不同的结果? –