|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.05.2019, 12:37 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
[БД FireBird] Ограничить количество строк с таблицы JOIN
Доброе время суток форумчане
Есть вот такой запрос Код:
он выдает результат одну строку (допустим одну строку договора). Есть таблица «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 Заранее спасибо за ответ P.S. А еще одно, у меня осталась возможность показывать номер счета в строке договора, если в договоре он ОДИН |
26.05.2019, 13:01 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну коль появилось понятие основной счет, то используй его. И там где счет один тоже
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.05.2019, 13:25 | #3 | |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Цитата:
Код:
Дополнительное поле "ОСНОВНОЙ СЧЕТ" придумал я пару часов назад, чтоб использовать его в запросе для ограничения |
|
26.05.2019, 13:35 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
То есть это фикция и они все равноправны? Если для отображения, то можно в основном запросе вообще не дергать табличку счетов, а взять отдельным запросом и отображать их в дочернем гриде для текущей строки основного грида. Если не важно какой, то с дополнительным реквизитом проще всего, иначе запрос сильно утяжелится - там выбирает три поля с него и для каждого из них свой подзапросик сделать нужно с FIRST
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как ограничить количество подключений к БД Firebird | Vit@L | БД в Delphi | 25 | 27.10.2015 12:28 |
Ограничить количество строк в ListBox | konstantin1990 | Microsoft Office Excel | 21 | 30.08.2013 15:07 |
ограничить количество строк | vostok | Microsoft Office Excel | 7 | 02.01.2013 18:42 |
Сканирования строк. Зная количество строк и первый элемент, это количество символов с троке. | dimon9 | Общие вопросы C/C++ | 8 | 02.11.2012 22:40 |
Access ограничить значение поля таблицы значениями полей другой таблицы | Сергей089 | Microsoft Office Access | 10 | 08.12.2010 02:22 |