Доброе время суток форумчане
Есть вот такой запрос
он выдает результат одну строку (допустим одну строку договора).
Есть таблица «ACCOUNTANCY», в которой содержится номер счета по этому договору.
Вот..
С некоторых пор, по одному договору может стало возможным добавлять несколько номеров счетов (просто в «ACCOUNTANCY» одно и то же CONTRACT_ID ссылка на договор). Следовательно, у меня уже этот запрос выдает несколько одинаковых строк договоров, что не есть хорошо…
Вопрос можно ли как-то в
ограничить выборку до одной строки, или мне в «ACCOUNTANCY» делать дополнительное поле, например, «NUMBER_BASE» (основной счет) и в одном из строк с номерами счетов например ставить в нем значение «1», а во всех других «0», если в одном договоре много счетов и тогда
left outer join ACCOUNTANCY a on a.CONTRACT_ID = c.ID and NUMBER_BASE=1
Заранее спасибо за ответ
Есть вот такой запрос
select c.*, cl.NAME_ORGANIZATION_FULL as cl_NAME_ORGANIZATION_FULL, cl.TYPE_NP || cl.CITY as cl_NP, cl.ID as cl_CLIENT_ID, cc.LIST_PROPOSAL_NUMBER_IN as cc_LIST_PROPOSAL_NUMBER_IN, b.BANK_COUNT as b_BANK_COUNT, b.NAME as b_NAME, b.CITY as b_CITY, pd.PAID_STATUS as pd_PAID_STATUS, pd.ID as pd_ID, a.NUMBER_ACCOUNT as a_NUMBER_ACCOUNT, a.DATE_NUMBER_ACCOUNT as a_DATE_NUMBER_ACCOUNT, a.ID as a_ID, ce.EXECUTE_BEGIN as ce_EXECUTE_BEGIN, ce.EXECUTE_END as ce_EXECUTE_END, ce.CONTRACT_FRAME as ce_CONTRACT_FRAME, ce.CONTRACT_NUMBER as ce_CONTRACT_NUMBER, ce.SORT_WORK_LIST as ce_SORT_WORK_LIST, ct.PROPOSAL_ID as ct_PROPOSAL_ID, p.NUMBER_IN as NUMBER_IN from CONTRACT c left join V_STATISTIC_CONTRACT cc on cc.CONTRACT_ID = c.ID join CROSS_T ct on ct.CONTRACT_ID = c.ID and ct.CONTRACT_DELETE is null join PROPOSAL p on p.ID = ct.PROPOSAL_ID join CLIENT cl on cl.ID = ct.CLIENT_ID left outer join BANK b on b.CONTRACT_ID = c.ID left outer join PLAN_D pd on pd.CONTRACT_ID = c.ID left outer join ACCOUNTANCY a on a.CONTRACT_ID = c.ID left outer join CONTRACT_EXTRA ce on ce.CONTRACT_ID = c.ID where c.DEPARTMENT_ID_EXECUTE = 13 and (ce.EXECUTE_END>'25.05.2019' or ce.EXECUTE_END is null) order by c.ID desc
он выдает результат одну строку (допустим одну строку договора).
Есть таблица «ACCOUNTANCY», в которой содержится номер счета по этому договору.
Вот..
С некоторых пор, по одному договору может стало возможным добавлять несколько номеров счетов (просто в «ACCOUNTANCY» одно и то же CONTRACT_ID ссылка на договор). Следовательно, у меня уже этот запрос выдает несколько одинаковых строк договоров, что не есть хорошо…
Вопрос можно ли как-то в
left outer join ACCOUNTANCY a on a.CONTRACT_ID = c.ID
ограничить выборку до одной строки, или мне в «ACCOUNTANCY» делать дополнительное поле, например, «NUMBER_BASE» (основной счет) и в одном из строк с номерами счетов например ставить в нем значение «1», а во всех других «0», если в одном договоре много счетов и тогда
left outer join ACCOUNTANCY a on a.CONTRACT_ID = c.ID and NUMBER_BASE=1
Заранее спасибо за ответ