|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2009, 17:33 | #1 |
Регистрация: 20.08.2009
Сообщений: 5
|
запрос на выборку
Добрый день! Подскажите, пожалуйста, как решить данную проблему:
Есть 2 таблицы 1. Счет импорт с полями Клиент, Номер счета,Сумма, Дата 2.Счет экспорт ( с такими же полями) На основании этих таблиц делаются запросы на выборку выставленных счетов по клиенту. Затем делается форма на основании этих двух несвязанных запросов по данным о счетах клиента. Мы выбираем из списка название клиента и должны отобразиться все импортные и экспортные счета по нему. Проблема в том, что если клиент встречается в обоих запросах, то все правильно работает, а если только в одном, то выводится форма пустая. Как можно задать условие, что если запрос на выборку не находит информацию по данному клиенту, то нужно выводить строчку с нулями? |
20.08.2009, 22:33 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте МаришаГ.
"выводить строчку с нулями" будет Count, а это действительно необходимо? проще будет слить данные в одну таблицу Счета добавив логическое поле ИмпортЭкспорт, а "Счет импорт" и "Счет экспорт", если они нужны, формировать запросами. "все импортные и экспортные счета" будут в запросе к одной таблице, не потребуется объединения "двух несвязанных запросов" и проблема уйдет. Евгений. |
21.08.2009, 10:33 | #3 |
Регистрация: 20.08.2009
Сообщений: 5
|
Спасибо за совет, но если все таки мне необходимо вывести строчку с нулями, как это сделать? Если добавить в запрос на выборку поле Count, которое будет считать количество строк, то как и где задать условие, что если это количество равно 0, то во всех значениях запроса надо проставить 0.
|
21.08.2009, 10:54 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
выложите пример БД, добавьте туда запрос, который работает, но не выдаёт строчку с нулями - посмотрим, что можно сделать.
p.s. не забудьте запаковать БД в архив перед тем, как прикрепить её на форум. p.p.s. прикрепить файлик можно через кнопочку "Расширенный режим" - там "Управление вложениями" |
21.08.2009, 11:12 | #5 |
Регистрация: 20.08.2009
Сообщений: 5
|
Вот часть моей базы, только связи между таблицами не згаю как экспортировать. Открываем форму Контрагент1, выбираем клиента и временной интервал, если информация по данному клиенту есть во всех используемых, то все работает. Необходимо изменить все итоговые запросы ( называются ....Query2).
Таблицы между собой не связаны и возможно нужна структурная переработка, но на самом деле база очень сложная, громоздкая и хотелось бы попробовать сделать эту нулевую строку. Заранее спасибо! |
21.08.2009, 23:46 | #6 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте МаришаГ.
позволю себе несколько замечаний: "Необходимо изменить все итоговые запросы..." - обязательно, а лучше удалить и все промежуточные с ними, т.к. в основе должен лежать источник (таблица или запрос) в котором "клиенты" сохранены, и по связи "один ко многим" базовый источник должен иметь статус "один" а не "много" как это сделано у Вас, в этом и есть причина. Почему "лучше удалить" - использование ПОДЗАПРОСОВ избавит Вас от ненужных промежуточных конструкций. Для получения базовых познаний SQL (и о подзапросах в том числе) рекомендую - Мартин Грубер - Понимание SQL.rar (1.28 Мб) Удачи Вам. Евгений. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на выборку из нескольких таблиц | bullvinkle | Microsoft Office Access | 9 | 11.04.2012 04:35 |
Запрос на выборку + сумма | EugeneIsmatulin | SQL, базы данных | 3 | 16.06.2009 15:08 |
простейший запрос на выборку | kate158 | БД в Delphi | 2 | 13.05.2009 14:33 |
Запрос на выборку | Ruska882009 | Microsoft Office Access | 2 | 26.02.2009 20:39 |
в БД есть запрос 6 (на выборку) | s1a9s8h6a | БД в Delphi | 12 | 02.01.2009 00:48 |