Question

Cette question a déjà été posée dans stackoverflow et ailleurs:

  1. Est-il possible de faire une requête SQL récursif?
  2. récursives Avec les Requêtes CTE - SQLServer 2003 with Exemples

Mais je voudrais faire ce travail pour une requête de rapport qualité-Center HP 10.

Toute personne ayant un aperçu de ces aspects techniques?


Une simple vérification:

with t1 (parent, child) as 
(select * from all_lists t where t.al_father_id = '2') select * from t1

QC rapports « Quality Center ne peut pas exécuter la requête parce qu'elle contient des déclarations non valides ».

Alors que la faute de frappe intentionnelle suivante

select * from all_lists t wher t.al_father_id = '2'

QC rapports "La requête SQL ... n'a pas réussi à exécuter, avec l'erreur suivante: Échec de SQL ... [Mercury] [Oracle JDBC Driver] [Oracle] ORA-00933:. Commande SQL pas correctement terminé"

Je suppose que cela répond à deux questions:

  1. le serveur est Oracle (bien qu'il ne donne pas la version)
  2. avec ne sont pas autorisés par l'interface QC
Était-ce utile?

La solution

Ok, il a obtenu:

select      SYS_CONNECT_BY_PATH (al_description,' :: ')
from        all_lists
start with  al_father_id = '2'
connect by  prior al_item_id = al_father_id

Ceci est la solution à ma question. Merci à a_horse_with_a_name des commentaires qui m'a motivé à la recherche plus profonde.

Fab.

Je suis toujours ouvert aux commentaires pour l'amélioration ou d'autres voyages et trucs du métier - tels que: où puis-je trouver une référence pour le CONNECT par des fonctions connexes comme SYS_CONNECT_BY_PATH. Je suis sûr qu'il a quelques amis que je serais désireux d'apprendre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top