Я получилLEFT OUTER JOIN с CONNECT_BY_ROOT
SELECT
CONNECT_BY_ROOT TAXY.IDCATEGORY AS IDBRANCH
, TAXY.IDCATEGORY
, TAXY.IDPARENTCATEGORY
, TAXY.IDCONTENT
, TAXY.CATEGORYNAME
, LEVEL AS LVL
FROM TAXONOMY TAXY
CONNECT BY TAXY.IDCATEGORY = PRIOR TAXY.IDPARENTCATEGORY
и хочу добавить к каждой записи CONTENTNAME
столбца из таблицы CONTENT
.
Я пробовал:
SELECT
CONNECT_BY_ROOT TCT.CONTENTNAME AS ENDNODECONTENTNAME
, TAXY.IDCATEGORY
, TAXY.IDPARENTCATEGORY
, TAXY.IDCONTENT
, TCT.CONTENTNAME
, TAXY.CATEGORYNAME
, LEVEL AS LVL
FROM TAXONOMY TAXY
LEFT OUTER JOIN CONTENT TCT ON TCT.IDCONTENT = TAXY.IDCONTENT
CONNECT BY TAXY.IDCATEGORY = PRIOR TAXY.IDPARENTCATEGORY
Ожидая те же результаты, только с CONNECT_BY_ROOT
используя 1 дополнительный столбец: CONTENTNAME
из CONTENT
, связанного по IDCONTENT
; который должен быть NULL
, если нет соответствующего контента (IDCONTENT
является NULL
)
Вместо этого я получаю только строки, где IDCONTENT
не NULL
. Что я могу сделать, чтобы получить эти строки?
Я также попытался:
SELECT
CONNECT_BY_ROOT TAXY.IDCATEGORY AS IDBRANCH
, TAXY.IDCATEGORY
, TAXY.IDPARENTCATEGORY
, TAXY.IDCONTENT
, TCT.CONTENTNAME
, TAXY.CATEGORYNAME
, LEVEL AS LVL
FROM TAXONOMY TAXY
LEFT OUTER JOIN CONTENT TCT ON TCT.IDCONTENT = TAXY.IDCONTENT
CONNECT BY TAXY.IDCATEGORY = PRIOR TAXY.IDPARENTCATEGORY
И я также пытался
SELECT
SYS_CONNECT_BY_PATH(TAXY.CATEGORYNAME, ' \ ') AS BREADCRUMBSPATH
, TAXY.IDCATEGORY
, TAXY.IDPARENTCATEGORY
, TAXY.IDCONTENT
, TCT.CONTENTNAME
, TAXY.CATEGORYNAME
, LEVEL AS LVL
FROM TAXONOMY TAXY
LEFT OUTER JOIN CONTENT TCT ON TCT.IDCONTENT = TAXY.IDCONTENT
START WITH TAXY.IDPARENTCATEGORY IS NULL CONNECT BY TAXY.IDPARENTCATEGORY = PRIOR TAXY.IDCATEGORY
, но я получаю те же результаты (только значения, где IDCONTENT
не является NULL
)
В Самое странное в том, что вчера запрос работал над БД разработки, а теперь это не так. Поэтому я создал скрипку, чтобы проверить, могу ли я воспроизвести предыдущие результаты, и она отлично работает ... http://sqlfiddle.com/#!4/ecb9d/1http://sqlfiddle.com/#!4/ecb9d/3
Что могло вызвать эту смену поведения?