Можно ли сделать рекурсивный запрос SQL - с помощью HP Quality Center? - PullRequest
1 голос
/ 29 ноября 2010

Этот вопрос уже задавался в stackoverflow и в других местах:

  1. Можно ли сделать рекурсивный запрос SQL?
  2. Реквизиты 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 сообщает: «Центр качества не может выполнить запрос, поскольку он содержит недопустимые операторы».

Принимая во внимание следующую умышленную опечатку

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

QC сообщает: «Запрос SQL ... не выполнен, со следующей ошибкой: Ошибка SQL ... [Mercury] [Драйвер JDBC Oracle] [Oracle] ORA-00933: Команда SQL не завершена должным образом."

Итак, я думаю, что это отвечает на два вопроса:

  1. сервер - это Oracle (хотя и не дает версию)
  2. с не допускается через интерфейс QC

1 Ответ

1 голос
/ 30 ноября 2010

Хорошо, понял:

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 за комментарии, которые побудили меня к более глубокому поиску.

Потрясающе.

Я все еще открыт для комментариев для улучшения или дальнейших поездок и уловок торговли - таких как: где я могунайдите ссылку на связанные функции CONNECT BY, такие как SYS_CONNECT_BY_PATH.Я уверен, что у него есть несколько друзей, о которых я хотел бы узнать.

...