我有下表,
XTable
id | mapname | category | value
1 mapone. cat1. val1
2. mapone cat2 val2
3. mapone. cat3. val3
4. maptwo. cat1 val1
5. maptwo. cat2 val4
现在我需要在中执行以下操作
对于每个不同的映射名称,插入具有相同映射名称但不同类别的行
所以像这样的东西,
insert into XTable values (DEFAULT,"my_new_category","valueone");
问题是,我找不到一个sql可以执行这种循环操作。
使用窗口函数:
SELECT id,
mapname,
'cat' || row_number() OVER (PARTITION BY mapname ORDER BY id) AS category,
value
FROM atable;