Я создал отчет, который извлек 1 объект из таблицы Purchase_order (PO_REF) и один из таблицы ORG_ZONES (ZONE_NAME).
Почему BO сгенерировал запрос, который присоединился к третьей таблице, ОРГАНИЗАЦИЯ без причины?
Обратите внимание, что таблица ORGANIZATIONS связана как с таблицей PURCHASE_ORDER, так и с таблицей ORG_ZONES, поэтому в некотором смысле, если вы посмотрите на диаграмму отношений таблицы, вы увидите круг ссылок - если это уместно! 1005 *
Вот результирующий SQL:
SELECT
PRELAY.PURCHASE_ORDER.PO_REF,
PRELAY.ORG_ZONES.ZONE_NAME
FROM
PRELAY.PURCHASE_ORDER,
PRELAY.ORG_ZONES,
PRELAY.ORGANIZATION
WHERE
( PRELAY.ORG_ZONES.ORG_ID=PRELAY.ORGANIZATION.ORG_ID )
AND
( PRELAY.PURCHASE_ORDER.SUPPLIER_ORG_ID=PRELAY.ORGANIZATION.ORG_ID(+)
AND PRELAY.ORGANIZATION.ORG_ID >1 )
AND ( PRELAY.ORG_ZONES.ZONE_ID=PRELAY.PURCHASE_ORDER.REMITTO_ZONE_ID
)
Почему генератор BO SQL сгенерировал SQL, включающий таблицу ORGANIZATION, если я не выбираю из этой таблицы, и в противном случае существует прямая связь между двумя таблицами, из которых я извлекаю данные?
Является ли это примером действительно плохого инструмента генерации SQL? Есть ли способ избежать этого - или только на уровне отдельного отчета?