|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
|||||||||||
запрос с group by18.08.2010, 13:34. Показов 4946. Ответов 11
Метки нет (Все метки)
Доброе время суток. У меня такая проблема: не работает запрос, который составляется в делфи.
Все дело в последней строке, без group by запрос не работает. С групом работает, но мне нужен другой результат. Смысл вот в чем: Нужно что бы выводились строки без повторения (в таблице повторения могут быть) и считало сумму по полям Sl и bd и выбирал поля по значению суммы (т.е. where sum(nSL)=стокато). Я недавно начал изучать делфи и скюэль, поэтому немогу справиться без помощи. Спасибо!
0
|
|||||||||||
| 18.08.2010, 13:34 | |
|
Ответы с готовыми решениями:
11
Sql запрос с применением GROUP BY в Access+ Delphi Не работает запрос (group by) . error code -104 invalid column referense Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause |
|
|
|
| 18.08.2010, 13:46 | |
|
Ваш пример бесконечно далек от корректного запроса.
1) Если применяется группировка, то в group by должны быть перечислены все поля из списка select, которые не охватываются функциями группировки, либо которые не являются константами. У вас 8 полей, из которых обрамлены SUM лишь два. Т.е. шесть шт. должно быть в group by, но там лишь одно. 2) sum(nSl)>'text' - как может сумма (число) сравниваться на больше/меньше со строковой константой? В чем сокраментальный смысл, даже если сервер умудрится сделать неявный каст числа к строке? 3) фильтрующие предикаты на группировочными полями (sum и т.д.) разрешены только в предложении having, не where !!!
0
|
|
|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
|
| 18.08.2010, 13:57 [ТС] | |
|
Ваш пример бесконечно далек от корректного запроса.
1) Если применяется группировка, то в group by должны быть перечислены все поля из списка select, которые не охватываются функциями группировки, либо которые не являются константами. У вас 8 полей, из которых обрамлены SUM лишь два. Т.е. шесть шт. должно быть в group by, но там лишь одно. 2) sum(nSl)>'text' - как может сумма (число) сравниваться на больше/меньше со строковой константой? В чем сокраментальный смысл, даже если сервер умудрится сделать неявный каст числа к строке? 3) фильтрующие предикаты на группировочными полями (sum и т.д.) разрешены только в предложении having, не where !!! Поэтому я и попросил помощи, своими мозгами пока не доходит - опыта маловато. 1. Все правильно работает только когда все кроме сум() прописаны в гроуп, но я не понял как сделать список без повторений. 2. Выше кусок кода вставлен, там видно что все в порядке, просто выразился не корректно) 3.Нука щас с having попробую
0
|
|
|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
||||||
| 18.08.2010, 14:17 [ТС] | ||||||
|
А все понял, даж не заметил что со строкой) А кстати ниче нормально работает, но для приличия переведу.
Итак с хэвингом условие пошло:
Чего я хочу например: ФИО || профессия || корочки || часов отработал || заход (1 если засчитали, 0 если нет) Иванов || Слесарь || 7разряд || 3 || 1 Иванов || Слесарь || 7разряд || 2 || 0 Иванов || Слесарь || 7разряд || 1 || 1 Иванов || Слесарь || 7разряд || 4 || 1 Сидоров || Слесарь || 7разряд || 5 || 1 И должна получиться строка ФИО || профессия || корки || всего часов || засчитанных смен Иванов || Слесарь || 7разряд || 10 || 3 Сидоров || Слесарь || 7разряд || 5 || 1 и т. д.
0
|
||||||
|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
|
| 19.08.2010, 06:40 [ТС] | |
|
Спасибо помогло, учиться, учиться и еще раз учиться)
0
|
|
|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
||||||
| 06.09.2010, 13:16 [ТС] | ||||||
|
Возник следующий вопрос:
Можно ли написать запрос так, что бы выводилась главная строка и еще подстрока. Т.е.:
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 06.09.2010, 13:20 | |
|
LordDeArt, запрос вряд ли, но вы же можете сами управлять отображением, но в стринггриде, хотя может уже и кто-то смастерил такой дбгрид...
0
|
|
|
|
|
| 06.09.2010, 13:29 | |
|
LordDeArt, в генераторе отчетов такое сделать не сложно - просто указать подавление повторяющихся значений с объединением ячеек.
Если нужно отобразить в гриде, то такой запрос лучше фетчить из хранимой процедуры: там вывод по указанной схеме гораздо проще организовать, чем на чистом SQL.
0
|
|
|
0 / 0 / 0
Регистрация: 18.08.2010
Сообщений: 6
|
|
| 07.09.2010, 08:11 [ТС] | |
|
arni, расскажите, пожалуйста где его найти этот генератор отчетов.
P.S. Спасибо за ответы
0
|
|
|
|
|
| 07.09.2010, 08:51 | |
|
LordDeArt, в стандартной поставке дельфы. Конкретный продукт зависит от версии этой самой дельфы (QuickReport, Rave). Кроме того, бесплатных и платных сторонних продуктов - как грибов после дождя. Вашим потребностям удовлетворит, думаю, любой.
В наших пенатах особенно популярен FastReport. Правда он платный, но это врятли будет для вас проблемой
1
|
|
| 07.09.2010, 08:51 | |
|
Помогаю со студенческими работами здесь
12
Запрос Group BY
Откорректировать запрос с GROUP BY Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|