Я пытаюсь запросить серию таблиц Sybase Advantage из системы отслеживания заданий, чтобы создать отчет о текущих заданиях и связанных с ними сроках исполнения.
Эта система использует отношения «родитель / потомок» для заданий и их узлов.Данные о задании (родительские элементы) существуют в таблице «release», данные о сборочных узлах (дочерние элементы) существуют в таблице «pnlrel».Сроки выполнения указаны для заданий в таблице «release», но отсутствуют для узлов в таблице «pnlrel».Я пытаюсь создать запрос для объединения таблиц таким образом, чтобы разрешить использование дат родителя для представления дочерних элементов в выходных данных.База данных - Sybase Advantage 11.
Используются следующие таблицы и поля:
inproces - выполняемые задания, включая родителей и детей.
- H-JOB # - номер задания и идентификатор выпуска (т. Е. ABC-0100-001; задание ABC-0100, выпуск -001) | H-JOB # || ABC-0100-001 || ABC-0101-002 || ABC-0100-001P01 || ABC-0101-002P01 |
выпуск - все родители -JOB # - прямое совпадение с H-JOB #
- R-DUE-DATE - срок выполнения работы | JOB # |R-DUE-DATE || ABC-0100-001 |01.01.2000 || ABC-0101-002 |01/01/2020 |
pnlrel - все дети
- P-JOB-NBR - основной номер задания (например, ABC-0100)
- P-REL-NBR - идентификатор выпуска задания (т. Е. -001) | P-JOB-NBR | P-REL-NBR | P-REL-ID || ABC-0100 | 001 | P01 || ABC-0100 | 001 | P01 |
Несколько других таблиц не включены в пример для ясности.
Я попытался объединить две таблицысразу и даже присоединился к ним на основе объединения значений из одной таблицы, равных значению из одного поля другой таблицы, но я все еще не получаю желаемый результат.
SELECT inproces."H-JOB#", release."R-DUE-DATE"
FROM inproces
left join release on inproces."H-JOB#" = release."R-TRACKING-NBR"
left join pnlrel on inproces."H-JOB#" = pnlrel."P-TRACKING-NBR"
Возвращает номер задания и дату оплаты для родителей, но не для ребенка.
|ABC-0100-001 | 01/01/2000 | (parent)
|ABC-0100-001P01| NULL |(child)
|ABC-0101-002 | 01/01/2020 | (parent)
|ABC-0101-002P01| NULL |(child)
Желаемый результат - отображение ребенком родителя, который должендата, так как у него нет своих собственных:
|ABC-0100-001 | 01/01/1901 | (parent)
|ABC-0100-001P01 | 01/01/1901 | (child displays parent's due date)
|ABC-0101-002 | 01/01/2020 | (parent)
|ABC-0101-002P01 | 01/01/2020 | (child displays parent's due date)