J'ai cette table avec les données suivantes en fonction de la valeur dans la colonne de répétition pour chaque ligne, la ligne doit être répétée à nouveau. Par exemple, pour le travail 1, la valeur de répétition est 2, donc le travail 1 devrait répéter deux fois de plus. P> La table résultante doit être aussi inférieure à p> Quelqu'un peut-il m'aider avec cette requête?
J'utilise Oracle 10G P> P>
3 Réponses :
Au lieu de faire cette manipulation avec la requête, vous pouvez d'abord obtenir ces données dans une table de données et ajouter des lignes à une nouvelle table de données en fonction de la valeur de la répétition, puis de lier cette nouvelle table de données. P>
Vous pouvez utiliser un CTE récursif:
Oracle n'a présenté que la CTE récursive (affacturage des sous-requires AKA) dans 11GR2. Hélas le PO déclare qu'ils utilisent 10g.
Merci, ça marche très bien. Je ne comprends pas le CTE récursif, je vous serais reconnaissant si vous pouviez l'expliquer un peu.
supposant que vous ne produisiez pas plus de 1000 rangées par ligne: voici un test:
http://sqlfiddle.com/#!4/4519f/12 p>
+1, en outre, vous pouvez remplacer 1000 code> avec une sous-requête pour trouver la valeur max pour la répétition.