Sql 使用循环插入 table

Sql insert into table using Loop

我有这个数据集:

我在 运行 这个查询之后得到的:

SELECT  
MachineEquioement.NumMachine
,Equipements.Nom as 'Equipement'
,MachineEquioement.QTE
FROM MachineEquioement
inner join Equipements on Equipements.NumEquipement = MachineEquioement.NumEquipement
order by NumMachine

我想要的结果如下:

NumMachine || Equipement
1          || Moteur N° 1
1          || Accouplement avec caoutchouc N° 1
1          || Accouplement avec caoutchouc N° 2
1          || Palier P216 N° 1
1          || Palier P216 N° 2

有人对此有好主意吗?可能吗?

这是您要实现的目标吗?

;WITH  cte
                        as (  select MachineEquioement.NumMachine,Equipements.Nom ,QTE
                        
                           FROM MachineEquioement
                            INNER join Equipements on Equipements.NumEquipement = MachineEquioement.NumEquipement
                            WHERE  QTE >0
                            union all
                            select  MachineEquioement.NumMachine,Equipements.Nom ,QTE -1 
                              from     cte
                            WHERE  QTE >1
                            
                            ) 

SELECT  
NumMachine
,Nom as 'Equipement'
,QTE
FROM cte
order by NumMachine option (maxrecursion 0)