Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2011, 18:32   #1
Progsenya
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 80
По умолчанию Group by and Having

select sum(s.cnt)*f.Price,f.Name
from Films f inner join [Sessions] s
on f.FilmsID=s.FilmsID

group by f.Name
having sum(s.cnt)*f.Price>1000
вот такой вот код смысл в том чтобы вывести все записи сумма которых больше 1000


вот такая ошибка кто поможет буду благолдарен

Msg 8121, Level 16, State 1, Line 34
Column 'Films.Price' is invalid in the HAVING clause because it is not contained in either an aggregate function or the GROUP BY clause.
Progsenya вне форума Ответить с цитированием
Старый 19.02.2011, 19:18   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А если так:
Код:
SELECT U.*
  FROM (
    select sum(s.cnt)*f.Price AS kk,f.Name
      from Films f
        inner join [Sessions] s on f.FilmsID=s.FilmsID
      group by f.Name) AS U
  WHERE U.kk>1000
наверно правильней
Код:
SELECT U.*
  FROM (
    select sum(s.cnt*f.Price) AS kk,f.Name
      from Films f
        inner join [Sessions] s on f.FilmsID=s.FilmsID
      group by f.Name) AS U
  WHERE U.kk>1000
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.02.2011 в 10:08.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод в файл Group badgo Общие вопросы .NET 2 30.07.2010 15:07
GROUP BY Syltan SQL, базы данных 1 03.11.2009 13:39
Group в Excel Ora Общие вопросы Delphi 0 21.04.2009 11:04