Я пытаюсь отобразить 3 таблицы в базе данных Oracle:Oracle SQL Outer Left Join не возвращает строки
testHdr, testDet, testOther
testHdr является заголовок таблицы, testDet это таблица подробно, и testOther просто дополнительная таблица, в которой я нужно получить несколько столбцов.
Возможно, что есть данные в testHdr, но не в testDet. Я хочу показать пустое/нулевое значение из testDet, если нет значения.
Ключ к карте testHdr к testDet является adj_no и adj_no2
SELECT hdr.*, det.*, othr.*
FROM testHdr hdr, testDet det, testOther othr
where hdr.adj_no = det.adj_no (+)
and hdr.adj_no2 = det.adj_no2 (+)
and i.key3 = det.key3
and hdr.adj_no = '112'
* 112 только заголовок записи, но не подробно запись
- Я желаю, чтобы получить данные для hdr.adj_no = 112, если есть данные заголовка, такие как 113, 114 и т. д., он не будет отображаться в результате запроса.
Я попытался выше запрос с внешней LeftJoin, но он показывает:
ORA-01416: two tables cannot be outer-joined to each other
Переместить условие adj_no где слева условие соединения –
@AbhilashRVankayala вы имеете в виду 'где hdr.adj_no (+) = det.adj_no и hdr.adj_no2 = det.adj_no2 (+)'? – hades
Нет, я предложил, как Тим отправил в ответ. –