|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.03.2013, 00:38 | #1 |
Пользователь
Регистрация: 23.01.2013
Сообщений: 23
|
Запрос на группировку и сортировку
Есть запрос через ADOQuery
Код:
Если я прописываю все столбцы в GROUP BY то все работает, но группирует неправильно. Мне нужна группировка только по столбцу akt_num. Как сделать запрос? База SQL Server 2008R2 Спасибо за внимание. |
14.03.2013, 08:32 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Предложение group by предполагает в обязательном порядке наличие хотя бы одной агрегатной функции (sum, count, min, max, ...).
Отсюда встречный вопрос: какое действие вы подразумеваете под термином "группировка"? Т.е. что хотите получить в результате выполнения приведенного запроса? |
14.03.2013, 08:40 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
ругается, строго говоря, НЕ Delphi - а та СУБД, к которой Вы делаете запрос..
Но, по сути, ругается АБСОЛЮТНО верно. поясню на примере. пусть есть данные Код:
в выборке будут две записи akt_num 1 2 вопрос. для записи с akt_num что должно быть в полях date, prof_person и т.д. слесарь Иванов или сварщик Сидоров ? Если Вам ВСЁ равно - то обойти такое ограничение можно через использование агрегатных функций (MIN/MAX и т.д.) если же не ВСЁ РАВНО - тогда переделывайте логику выборки.. p.s. рекомендую ознакомиться с книгой М.Грубера "Понимание SQL", очень полезная книжка в плане освоения SQL запросов... |
14.03.2013, 09:11 | #4 |
Форумчанин
Регистрация: 27.11.2012
Сообщений: 190
|
+1 Зачетная книга
|
14.03.2013, 10:59 | #5 |
Пользователь
Регистрация: 23.01.2013
Сообщений: 23
|
Serge_Bliznykov
В таблице только akt_num разные, а все остальные поля одинаковые |
14.03.2013, 11:09 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
впрочем, если все остальные поля одинаковы и Вы в этом уверены, тогда: Код:
|
|
14.03.2013, 12:06 | #7 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
||
14.03.2013, 14:08 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Действительно, если бы все остальные поля для одних и тех же akt_num были одинаковые, то работало бы одинаково, хоть по одному полю akt_num группировать, хоть по всем полям! gigar, анализируйте тот запрос, который с группировкой по всем полям выдаёт неверный (по вашему мнению) результат, смотрите, где akt_num повторяется, вот там и будут неодинаковые остальные поля при одинаковых akt_num... |
|
22.03.2013, 11:38 | #9 |
Пользователь
Регистрация: 23.01.2013
Сообщений: 23
|
Спасибо, что откликнулись и помогли. Но вот хотел бы уточнить .
А если поля date будут разными, то что делать? |
22.03.2013, 11:43 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Код:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Раскрыть группировку | Slavatron1984 | Microsoft Office Excel | 5 | 29.12.2011 17:04 |
Запрос на сортировку записей по должности? | Azeripatriot | Microsoft Office Access | 5 | 26.04.2010 17:06 |
Access – как сделать универсальную Группировку? | jiura | Microsoft Office Access | 3 | 26.02.2009 22:10 |
Помогите переделать файловую сортировку на сортировку динамич. списков | Taisja | Помощь студентам | 2 | 15.06.2008 16:10 |
Задача на сортировку... | Sota | Помощь студентам | 4 | 25.05.2008 19:26 |