powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / условный join
1 сообщений из 1, страница 1 из 1
условный join
    #32167762
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Есть задача по выполнению условного join.
Ситуация следующая.

Tables:

Invoice (
id,
company_id
..
)

SelectionCompany(
id,
...
)

Необходимо выбрать все invoice с группировкой по company_id, для случаев когда SelctionCompany логически имеет записи или нет. В первом случае только те которые в SelectionCompany, во втором все. Логически означает, что записи в SelectionCompany есть вседа, и управление осуществляется дополнительным параметром pUseCompany.

Сейчас есть что-то типа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  with cs as (
     select  1  as flag, c.*
        from SelectionCompany
  )
  select cs.id, ...
    from invoice i outer join cs where i.company_id = cs.id and cs.flag = pUseCompany
  group by cs.id



Работает. Но меня смущает наличие outer join и то что клиент вошел в раш и количество таких фильтров начинает расти.

Реальный запрос намного сложнее и генерить его динамически что-то не улыбается ...

Кто может предложить реальную альтернативу?

Mike
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / условный join
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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