我正在研究 PostGreSQL 版本 1.18.1,但我面临一个问题:
我想插入许多信息并想让它像循环一样工作,但是对于我的请求,我需要两个循环(一个在另一个循环内)
我的请求是这样的:
INSERT INTO table_hour (annee , mois , id_operateur , nombre_heure_sup , nombre_jour_recup )
SELECT 2017 , 2 , x.id , 0 , 0
FROM generate_series(1,6) AS x(id);
INSERT INTO table_hour (annee , mois , id_operateur , nombre_heure_sup , nombre_jour_recup )
SELECT 2017 , 3 , x.id , 0 , 0
FROM generate_series(1,6) AS x(id);
...
第一个循环:id_operateur
从 1 到 6。
第二个循环:mois
从 2 到 1000。
我想知道如何使它一个在另一个中(这mois
是第二个循环的价值)
使用交叉连接:
INSERT INTO table_hour(annee , mois , id_operateur , nombre_heure_sup , nombre_jour_recup )
SELECT 2017 , y.id , x.id , 0 , 0
FROM generate_series(1,6) AS x(id)
CROSS JOIN generate_series(2,1000) AS y(id);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句