LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Запрос на...
 Тема: Запрос на объединение выкидывает записи?!
 
 15.06.2007 21:08:46
Antonio
6 сообщения


Тема: Запрос на объединение выкидывает записи?!
Столкнулся с такой проблемой - при вычитании одной таблицы из другой UNION SELECT выкидывает одинаковые записи, т.е., например, если дата и количество в записях совпадают, то в результате запроса окажется только одна из них.
Иными словами, в двух таблицах 12 и 17 записей соотв., а в запросе на объединение - получается только 27.
Как сделать так, чтобы присутствовали все 29?
Пробовал в запросе указывать параметры DISTINTROW, но это ничего не дало.

Заранее благодарен за советы.


P.S. Запросы на объединение
Автор: Atomic Bomberman от 27.10.2004 16:04:14 Источник ...
 15.06.2007 21:08:46
All
4316 сообщения
1-ый


RE: Запрос на объединение выкидывает записи?!
Надо добавить в запрос дополнительное поле, тогда будут суммироваться все записи. Пример.
SELECT a1,a2, 1 as a3
FROM Таблица1
union SELECT a1,a2, 2 as a3
FROM Таблица2;



P.S. Запросы на объединение
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:08:46
All
4316 сообщения
1-ый


RE: Запрос на объединение выкидывает записи?!
Примерно так я и поступил.
Но это было совершенно неочевидно изначально.
Т.к. мне всего-то нужно было получить ряд сумм.
С чем вообще связана такая работа запроса на объединенин?


P.S. Запросы на объединение
Автор: Anonymous от 0:00:00 Источник ...
 15.06.2007 21:08:46
All
4316 сообщения
1-ый


RE: Запрос на объединение выкидывает записи?!
Наверное, так было задумано разработчиками SQL для Access. Возможно в других базах данных будут возвращаться все записи.
P.S. Для этого надо смотреть спецификацию языка SQL.


P.S. Запросы на объединение
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:08:46
All
4316 сообщения
1-ый


RE: Запрос на объединение выкидывает записи?!
Одна поправочка, надо добавлять не просто произвольные поля, а такие, чтобы они составляли уникальный ключ.

А документация по ANSI SQL гласит, что "UNION будет автоматически исключать дубликаты строк из вывода". Так что я зря ругал Access в этом случае.
Еще предлагается использовать UNION ALL, тогда дубликаты будут выводиться. Я попробовал сделать такой запрос - работает, без всяких дополнительных полей! Отлично, всем спасибо.

Читайте доки, они - rullezz (c)


P.S. Запросы на объединение
Автор: Atomic Bomberman от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Запрос на...
ПоискПоиск  Список форумовСписок форумов  
right