Я надеюсь, что кто-то может мне помочь, так как я застрял в этой проблеме в течение нескольких дней.В основном я пытаюсь получить данные из 3 таблиц в Oracle: 1) Таблица заказов 2) Таблица поставщиков и 3) Таблица основных данных.
Вот как выглядят эти 3 таблицы:
Таблица1: BIZ_DOC2 (таблица заказов)
OBJECTID (уникальный ключ)
UNIQUE_DOC_NAME (имя документа т.е. ORD-005)
CREATED_AT (дата создания заказа)
Таблица 2:UDEF_VENDOR (таблица поставщиков):
PARENT_OBJECT_ID (совпадает с OBJECTID в таблице заказов)
VENDOR_OBJECT_NAME (это имя поставщика, т.е. Acme)
Таблица 3: BIZ_UNIT(Таблица основных данных)
PARENT_OBJECT_ID (Соответствует OBJECTID в таблице заказов)
BIZ_UNIT_OBJECT_NAME (Это название бизнес-единицы, т.е. виджет A, виджет B)
Примечание. Таблица поставщиков и основные данные не имеют связи между ними, кроме как через таблицу «Заказы».
Я могу объединить все данные из таблиц, и это выглядит примерно так:
Перед продажейдата последнего заказа:
ORD-005 |Виджет А |Acme |3/14/10
ORD-005 |Виджет Б |Acme |3/14/10
ORD-004 |Виджет C |Acme |3/10/10
В идеале я хотел бы вернуть последний заказ для каждого поставщика.Однако каждый заказ может содержать несколько бизнес-единиц (например, типы виджетов), поэтому, если последняя запись Продавца ORD-005 и заказ содержит 2 бизнес-единицы, вот как должен выглядеть набор результатов в следующих столбцах: UNIQUE_DOC_NAME, BIZ_UNIT_OBJECT_NAME,VENDOR_OBJECT_NAME, CREATED_AT
После выбора по дате последнего заказа:
ORD-005 |Виджет А |Acme |3/14/10
ORD-005 |Виджет Б |Acme |3/14/10
Я пытался использовать Select Max и несколько вариантов подзапросов, но мне просто не удается заставить его работать.Любая помощь будет принята с благодарностью!