powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / (+) <> left join
8 сообщений из 8, страница 1 из 1
(+) <> left join
    #39309212
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!

Простите за банальный вопрос.
Есть код:
Код: plsql
1.
2.
3.
4.
5.
SELECT t.*, e.*, o."PerformDateTime"  
 FROM GRK_DOC_DIRECTUM_OUT t
 INNER JOIN LDERC e ON e.ID = t.ID 
 LEFT JOIN LDDOCOPERATION o ON t.ID = o."DocID" AND o."OperTypeID" = 301 AND o."PerformDateTime" IS NOT NULL   
 WHERE  t."OutDate" IS NOT NULL AND t."OutStateName" = 'В очереди на отправку'



Почему он не равен

Код: plsql
1.
2.
3.
4.
 SELECT t.*, e.*, o."PerformDateTime"  
 FROM GRK_DOC_DIRECTUM_OUT t, LDERC e, LDDOCOPERATION o 
 WHERE e.ID = t.ID AND t.ID = o."DocID"(+) AND o."OperTypeID" = 301 AND o."PerformDateTime" IS NOT NULL 
 AND t."OutDate" IS NOT NULL AND t."OutStateName" = 'В очереди на отправку'


????

Спасибо!!!
...
Рейтинг: 0 / 0
(+) <> left join
    #39309219
UDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sonia,

Первое, что бросается в глаза, это условия в поле связки. Внимательнее надо. После ON указываются ключевые связки. Остальные ограничения перенеси в раздел WHERE.
...
Рейтинг: 0 / 0
(+) <> left join
    #39309228
or12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UDW,

Это почему?
...
Рейтинг: 0 / 0
(+) <> left join
    #39309239
UDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
or12,

Подумай.
...
Рейтинг: 0 / 0
(+) <> left join
    #39309242
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
 SELECT t.*, e.*, o."PerformDateTime"  
 FROM GRK_DOC_DIRECTUM_OUT t, LDERC e, LDDOCOPERATION o 
WHERE e.ID = t.ID 
  AND t.ID = o."DocID"(+)
  AND o."OperTypeID" (+) = 301 
  AND o."PerformDateTime" (+) IS NOT NULL 
  AND t."OutDate" IS NOT NULL 
  AND t."OutStateName" = 'В очереди на отправку'
...
Рейтинг: 0 / 0
(+) <> left join
    #39309283
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoniaПочему он не равенRTFM Outer Joins (FAQ) : "If A and B are joined by multiple join conditions, then you must use the (+) operator in all of these conditions."
...
Рейтинг: 0 / 0
(+) <> left join
    #39309435
Sonia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поняла, всем спасибо!!!
...
Рейтинг: 0 / 0
(+) <> left join
    #39309717
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoniaПочему он не равен
Потому, что это разные запросы.
В первом ты просишь не строго присоединить те строки из o, которые соответствуют условиям.
Во втором ты просишь присоединить o так, чтоб результат соответствовал условиям.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / (+) <> left join
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]