![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
fess |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 17.2.2005 Где: г. Мурманск, Росс ия Репутация: 1 Всего: 3 |
Имеется следующий запрос:
Где тип поля [Выгрузка].[Комментарий] - ntext, запрос выдаёт ошибку, что нельзя группировать по этому полю, если его убираю из группировки, то тоже ругается: is invalid in the select list becouse it is not contained in either an aggregate function or the grop by. Вопрос: Как мне изменить запрос, чтобы можно было выбрать и сумму по полю [Информация_с_промысла].[Результат] и комментарий (ну и другие поля)? По полю с комментарием группировка, естественно, не нужна... Это сообщение отредактировал(а) fess - 28.6.2006, 14:31 --------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
fess, смотри: группировка позволяет рассчитать среднее, минимальное, максимальное и прочие значения в пределах группы. Ты же хочешь сгруппировать, потом посчитать сумму, и выдать комментарий. Если у тебя в группе окажется 5 записей, то ты просуммируешь 5 значений, так? И выдашь эту одну сумму для группы. А как ты собираешь выдать 5 комментариев в одном поле? Как ты вообще себе это представляешь? Если сильно надо выдать комментарии для всех записей внутри группы в одном значений, то, не знаю, как в MSSQL, а в MySQL есть функция GROUP_CONCAT. Может, и здесь такое же есть?
|
|||
|
||||
fess |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 17.2.2005 Где: г. Мурманск, Росс ия Репутация: 1 Всего: 3 |
Там всё нормально в этом плане... так как эти поля находятся в разных таблицах... просто они(таблицы) связаны по первичному-вторичному ключам... Весь запрос - большой - я не выкладываю его....
--------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
СУБД отбирает записи по условию WHERE. Полученные строки группируются и внутри каждой группы вычисляется сумма. Не видеть тебе и группировку и не-группировку в пределах одного запроса. Разве что в FROM-секции сделать вложенный SELECT, который вернёт значения сумм.
|
|||
|
||||
bas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
||||
|
||||
fess |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 17.2.2005 Где: г. Мурманск, Росс ия Репутация: 1 Всего: 3 |
Естественно, не влияет... но мне надо, чтобы запрос возвращал и это поле... Добавлено @ 14:59 Не спорю, но, в результирующей талице (после всяких объединений и т.п.) поле "Комментарий", будет ОДИНАКОВО для всех полей [Информация_с_промысла].[Результат], по которым и делается сумма
Можно поподробнее? Это сообщение отредактировал(а) fess - 28.6.2006, 14:59 --------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом. |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 2 Всего: 260 |
без знания структуры твоих таблиц и условий отбора, подробнее - просто некуда ![]() Ну, если есть, например, 2 таблиц. В одной table- id и name, в другой table1 - id и value и надо просуммировать value для каждого id, то так
должно, как мне кажется, работать... Это сообщение отредактировал(а) skyboy - 28.6.2006, 15:16 |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Групировать по полям типов text, ntext, image нельзя
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
fess |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 17.2.2005 Где: г. Мурманск, Росс ия Репутация: 1 Всего: 3 |
Ага... мысль понятна... но не получается применить....
Просто использую внешнее объединение... не могу понять, как это применить... весь запрос:
Если не трудно, то подскажи... Это сообщение отредактировал(а) fess - 28.6.2006, 15:27 --------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |