|
Вопрос # 3 559/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Проблема такая, используя компонент Query и его свойство SQL я создаю запрос. Затем мне нужно профильтровать вычисляемое в запросе поле, но оно не профильтруется. Пытался запихнуть условие фильтрации прям в свойство SQL, но выдает не понятную ошибку. Прошу помоч как можно реализовать: необходимо чтобы вывелись записи где поле sum(prisutstvie)>1, имеется ввиду поле которое мы получили после группировки, указанной в SQL коде ниже.
Приложение: Переключить в обычный режим- select raspisanie.gruppi, student.familiya, student.imya, student.otchestvo, sum(prisutstvie)
- from raspisanie, zhurnalpos, student
- where (student.zach = zhurnalpos.zachetki)
- and (raspisanie.idzanyatiya=zhurnalpos.idzanyatiya)
- group by raspisanie.gruppi, student.familiya, student.imya, student.otchestvo
-
-
-
 |
Вопрос задал: fff (статус: Посетитель)
Вопрос отправлен: 22 декабря 2009, 16:20
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, fff!
что бы фильтровать "группированное поле", существует ключевое слово HAVING (читать можно тут http://ru.wikipedia.org/wiki/HAVING и тут http://www.cyberguru.ru/database/sql/sql-standards-overview-page7.html).
Поэтому для данного запроса скорее всего должно сработать такое выражение
SELECT raspisanie.gruppi, student.familiya, student.imya, student.otchestvo, sum(prisutstvie)
FROM raspisanie, zhurnalpos, student
WHERE (student.zach = zhurnalpos.zachetki)
AND (raspisanie.idzanyatiya=zhurnalpos.idzanyatiya)
GROUP BY raspisanie.gruppi, student.familiya, student.imya, student.otchestvo
HAVING sum(prisutstvie) > 1
Хотя конечно лучше сделать временное поле и вынести это туда, что бы два раза не вычислять суму. Но разные движки SQL это делают по разному...
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 22 декабря 2009, 17:01
Оценка за ответ: 5
Комментарий к оценке: Спасибо, работает будем думать дальше :)
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|