Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
Здравствуйте, форумчане!!!

Есть запрос

select   g.NMG, COUNT (*) as Kol_voStrok, COUNT (ra.Id) as Kol_voZ, SUM(kl.OBEM)* COUNT(g.COD_GR)/kl.NORMA as OBEM    
from  ReturnAccepting ra
 Inner JOIN ReturnAcceptingPositions rp On ra.Id = rp.AcceptId 
 INNER JOIN KLASF kl ON kl.KU = rp.GoodsId 
 Inner JOin GRUP g ON g.COD_GR = kl.COD_GR
WHERE ra.CreateDate between {d'2015-01-01'} and {d'2015-10-23'}
GROUP by g.COD_GR, g.NMG, kl.NORMA
Order by g.COD_GR

как сделать так, что бы не группировать по kl.NORMA. ???
27 окт 15, 13:26    [18332425]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Neron777
как сделать так, что бы не группировать по kl.NORMA. ???

Убрать его из GROUP by
27 окт 15, 13:27    [18332432]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
Glory
Neron777
как сделать так, что бы не группировать по kl.NORMA. ???

Убрать его из GROUP by


Нет, тогда ошибка:
Столбец "KL.NORMA" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
27 окт 15, 13:29    [18332445]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Neron777
Нет, тогда ошибка:
Столбец "KL.NORMA" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.

Ну так выполните требование сервера. В чем проблема то ?
27 окт 15, 13:30    [18332454]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Neron777
Glory
пропущено...

Убрать его из GROUP by


Нет, тогда ошибка:
Столбец "KL.NORMA" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
На каждую группу получится по несколько разных значений KL.NORMA.
Какое же из них будете подставлять в свою замечательную формулу?
27 окт 15, 13:31    [18332463]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
o-o
Guest
наверное, это константа.
тогда делите на min(kl.NORMA)
27 окт 15, 13:33    [18332476]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
o-o
наверное, это константа.
тогда делите на min(kl.NORMA)
Тогда чем GROUP BY не устраивает?
27 окт 15, 13:45    [18332561]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
o-o
Guest
iap,

не знаю.
у меня сегодня местное "угадай мелодию",
аж на форум фантазии не хватает
27 окт 15, 13:50    [18332594]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
SUM(kl.OBEM)* COUNT(g.COD_GR)/kl.NORMA 

Эта формула должна подсчитать объем в каждой группе.
kl.OBEM - значение объема
g.COD_GR - код группы
kl.NORMA - некая норма.

В группе несколько товаров, у каждого товара свой объем и своя норма
27 окт 15, 13:52    [18332612]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
Просто если группировать по норме еще, то не получается в итоговом запросе только по группам подсчитать, он подсчитывает по товарам
27 окт 15, 13:54    [18332639]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Neron777
В группе несколько товаров, у каждого товара свой объем и своя норма

Почему тогда kl.NORMA не участвует ни в какой агрегатной функции ?
27 окт 15, 13:55    [18332656]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
За активный отклик спасибо )
27 окт 15, 13:55    [18332658]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Kol_voStrok
Guest
так если норма на каждый товар, то как эту норму на группу взять? по-товарно и надо делить
SUM(kl.OBEM/kl.NORMA)* COUNT(g.COD_GR) 

только смысл умножения не понимаю
27 окт 15, 14:04    [18332756]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
Не правильно выразился простите) Все таки по группам товаров, норма одинаковая. Вот к примеру кастрюли(их 15 разновидностей) норма у них у всех при этом одинаковая 50 к примеру, крышки к примеру, тоже самое, видов крышек много, но норма для них одинаковая (110 например ). а вот объем разный может быть для одно вида товара.
27 окт 15, 14:20    [18332907]     Ответить | Цитировать Сообщить модератору
 Re: Не группировать по столбцу  [new]
Neron777
Member

Откуда:
Сообщений: 36
Вроде разобрался, спасибо_))
27 окт 15, 14:39    [18333038]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить