我有一组查询用于根据其序列号更新来自另一个表(cards
)的代码的表(boxes
)。序号为1的卡进入boxes
表中名为code_1
的列,以此类推,以获得有限数量的可能序列号。因为它是有限的,我可以这样做:SQL - 将值更新到编号列中
update b
set code_1 = c.codes
from boxes as b inner join cards as c
on b.service_id = c.service_id and c.sequence_number = 1;
update b
set code_2 = c.codes
from boxes as b inner join cards as c
on b.service_id = c.service_id and c.sequence_number = 2;
update b
set code_3 = c.codes
from boxes as b inner join cards as c
on b.service_id = c.service_id and c.sequence_number = 3;
...
update b
set code_n = c.codes
from boxes as b inner join cards as c
on b.service_id = c.service_id and c.sequence_number = n;
但我的问题是:是否有编写一个查询,将适当的基于源的序列号更新所有列的方式吗?
'n'是已知的固定值,还是可以变化? –
@PhilipKelley'n'因给定的'service_id'而有所不同,但确实有一个最大值,所以如果需要的话我可以硬编码。 – Michael
另外,你使用的是什么RDBMS? –