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

Нужно связывать две таблицы поразному в зависимости от параметров.
В одном случае из одной таблицы нужны все записи, в другом из нее же ни одной. Так как будто она пустая.

sys2_store(
store_id,
name
)

sys2_company(
comapny_id,
name
)

store_mapping(
sys1_store_id,
sys2_company_id,
sys2_store_id
)

invoices (
id,
store_id,
...
)

Нужно перекодировать invoices store_id в sys2_comapny.name, sys2_store.name. Но, имеется необходимость перекодировния как с использованием sys2_company_id так и без оного. Что-то вроде


select i.id, c.name, s.name
from invoices i
left join store_mapping sm on i.store_id = sm.sys1_store_id and sm.sys2_store_id is not null
left join sys2_company c on sm.sys2_company_id = c.company_id
join sys2_store s on sm.sys2_store_id = s.store_id

Это работает и всегда использует company_id если таблица имеет записи.
Но клиент хочет иметь возможность, одним флагом отключать ее и при этом оставлять в ней записи. Динамическая генерация запроса нежелательна, так как таких отключаемых условий может быть несколько и количество их комбинаций соответственно велико. Что-то мне не хочется клеить строки, так как запрос уже монстрообразный.

Я думал, вычитывать sys2_company в коллекцию и связывать ее с таблицей. Что-то, не клеится, торможу уже конкретно... :-((

Можно было бы ограничить как-то чтение флагом, но Oracle не дает.
from ... sys2_company ...
where UseCompany is null -- all records
or cpmapny_id is not null

error undefined column UseCompany или что-то в этом роде.

Буду рад любым предложениям, так как время не ждет.

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


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