|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2015, 16:13 | #1 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Создание запроса MO Access
Доброго времени суток.
Задание следующее: 11. Для каждого поставщика определить общее количество наименований поставляемых товаров. Я не понимаю только 1 вещь. У меня 2 поставщика поставляют один и тот же товар 2 раза, но только по разным ценам. Всего товаров(с повторяющимися названиями) по поставщикам 14. Значит уникальных товаров по поставщикам должно быть 12. Запрос 1 Код:
Окей, подумал я. Значит решение по поставленной задаче, должно выглядеть так: Запрос 2 Код:
Ну почему 14? Почему в 1 запросе оно выдало 12? Как это решить? *уникальных, значит у каждого поставщика одно и то же название товара не будет повторяться. |
07.06.2015, 17:21 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.06.2015, 18:21 | #3 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
О Боже... всё работает.
Спасибо, но как? Как это понять? U.Название_поставщика "Буква" - это псевдоним, для создания копии обрабатываемой таблицы(фраза из моей методички). Посмотрел в инете * - это подстановочный знак, а для чего и зачем? После FROM-а должны идти таблицы от куда мы берём данные. Ну, тут понятно, мы вложенным запросом формируем таблицу из 2-х столбцов: Код:
А вот дальше меня клинит ещё больше: Код:
|
07.06.2015, 18:27 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
U псевдоним таблицы, можно считать что вложенный запрос тоже таблица, только временная или виртуальная, кому как удобней. Псевдоним для удобства, а здесь без него вообще не обойтись. Игры с этим же запросом:
Код:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 07.06.2015 в 18:31. |
|
07.06.2015, 18:38 | #5 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Ага, вроде с большего понятно.
Но почему тогда мой 1 запрос выдал 12 уникальных, а 2-й просто 14? Этого не понимаю. Я же не где не использовал DISTINCT для исключения повторяющихся записей. Даже если бы и написал - он не хочет работать. Да, работает. Последний раз редактировалось Аватар; 07.06.2015 в 18:42. |
07.06.2015, 18:41 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В первом запросе - GROUP BY Поставщик.Название_поставщика, Товар.Название_товара
Во втором - GROUP BY Поставщик.Название_поставщика Разница ощутимая
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.06.2015, 18:48 | #7 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
GROUP BY объединяет уже после того как таблица со столбцами
Код:
|
07.06.2015, 18:55 | #8 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
07.06.2015, 19:01 | #9 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Ага.
Спасибо)) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access 2003. Создание запроса. | Niro | Помощь студентам | 4 | 23.09.2014 00:18 |
Ошибка запроса access | ЕвгенРад | БД в Delphi | 1 | 29.05.2013 02:47 |
Создание запроса к БД в Access | Urbic | Microsoft Office Access | 7 | 26.03.2013 03:55 |
Access создание запроса и таблички | Evgen_31 | Microsoft Office Access | 1 | 29.06.2009 16:49 |
Запуск запроса из БД Access через С# | AnnNet | Общие вопросы .NET | 1 | 20.05.2009 16:31 |