E 'possibile fare una query SQL ricorsiva - con HP Quality Center?
-
29-09-2019 - |
Domanda
Questa domanda è già stata posta in StackOverflow e altrove:
- E 'possibile fare una query SQL ricorsiva?
- requetés récursives avec les CTE - Esempi avec SQLServer 2003
Ma mi piacerebbe fare questo lavoro per una query report in HP Quality-Centro 10.
Chiunque con intuizioni in questi tecnicismi?
Un semplice controllo:
with t1 (parent, child) as
(select * from all_lists t where t.al_father_id = '2') select * from t1
QC riporta "Quality Center non può eseguire la query perché contiene affermazioni non valide".
Mentre con il seguente errore di battitura intenzionale
select * from all_lists t wher t.al_father_id = '2'
QC riporta "La query SQL ... non è riuscito a correre, con il seguente errore: Impossibile SQL ... [Mercury] [Oracle driver JDBC] [Oracle] ORA-00933:. Comando SQL non propriamente finita"
Quindi credo che risponde a due domande:
- il server è Oracle (anche se non dà la versione)
- con non è consentito tramite l'interfaccia di controllo di qualità
Soluzione
Ok, capito:
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
Questa è la soluzione alla mia domanda. Grazie a a_horse_with_a_name per i commenti che mi ha motivato a cercare più in profondità.
Fab.
Sono ancora aperto a commenti per i viaggi di miglioramento o di ulteriori e trucchi del mestiere - come ad esempio: dove posso trovare un punto di riferimento per il CONNECT BY funzioni correlate come SYS_CONNECT_BY_PATH. Sono sicuro che ha un paio di amici che sarei desideroso di conoscere.