У меня есть следующий пример запроса,Для Oracle SQL, получить определенное значение по нескольким таблицам и столбцам
select o.ENTRY_ID, o.DESCRIPTION, o.ENTRY_DATE, l.COMPANY_ID
from TABLE1 o, TABLE2 l
where o.ENTRY_ID = l.ENTRY_ID
and COMPANY_ID in (10, 11, 12, 13)
, который возвращает набор данных, подобное следующему:
ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
1, Description 1, 2/12/2008, 10
2, Description 2, 2/12/2008, 10
3, Description 3, 2/10/2008, 10
4, Description 4, 2/11/2008, 10
4, Description 4, 2/11/2008, 11
4, Description 4, 2/11/2008, 12
4, Description 4, 2/11/2008, 13
If запись связана с несколькими компаниями, этот запрос возвращает одну и ту же запись 1 раз для каждой компании, с которой она связана.
Я хотел бы, чтобы запрос отличался от COMPANY_ID, так что если запись связана с несколькими компаниями, она возвращается только один раз.
Вот результирующий набор я хочу вернулся:
ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
1, Description 1, 2/12/2008, 10
2, Description 2, 2/12/2008, 10
3, Description 3, 2/10/2008, 10
4, Description 4, 2/11/2008, 10
но, следующий будет приемлемым, а также,
ENTRY_ID, DESCRIPTION, ENTRY_DATE, COMPANY_ID
1, Description 1, 2/12/2008, 10
2, Description 2, 2/12/2008, 10
3, Description 3, 2/10/2008, 10
4, Description 4, 2/11/2008, 11
Я хочу отчетливое entry_id. В результирующем наборе, который я получаю сейчас, я получаю четыре записи с ENTRY_ID, потому что четыре разные компании делят эту запись. Я хочу, чтобы только одна запись возвращалась, когда запись делится между несколькими компаниями.
Когда это происходит, какое значение вы хотите увидеть от company_id? Это может изменить ответы людей. –