1

この質問は、stackoverflow などで既に尋ねられています。

  1. 再帰的な SQL クエリを作成することはできますか?
  2. Requêtes recursives avec les CTE - 例 avec SQLServer 2003

しかし、HP Quality-Center 10 のレポート クエリでこれを機能させたいと考えています。

そのような技術についての洞察を持っている人はいますか?


簡単なチェック:

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

QC は、「無効なステートメントが含まれているため、Quality Center はクエリを実行できません」と報告します。

一方、次の意図的なタイプミスでは

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

QC は、「SQL クエリ ... の実行に失敗しました。次のエラーが発生しました: SQL に失敗しました ... [Mercury][Oracle JDBC Driver][Oracle]ORA-00933: SQL コマンドが正しく終了しませんでした。」

だから私はそれが2つの質問に答えると思います:

  1. サーバーはOracleです(ただし、バージョンはわかりません)
  2. with は QC インターフェイスでは許可されていません
4

1 に答える 1

1

はい、わかった:

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

これが私の質問に対する解決策です。a_horse_with_a_name のコメントに感謝し、より深く検索する動機を与えてくれました。

すばらしい。

SYS_CONNECT_BY_PATH などの CONNECT BY 関連関数のリファレンスはどこにありますか。知りたいと思う友達が何人かいると確信しています。

于 2010-11-29T22:59:34.243 に答える