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

Откуда:
Сообщений: 55
SELECT SUM(dbo.Материалы.Стоимость_детали + dbo.Ремонт.Стоимость_ремонта) AS [Прибыль за месяц], DATENAME(mm,
dbo.Договор.Дата_сдачи_машины_в_ремонт) AS Месяц, DATENAME(yy, dbo.Договор.Дата_сдачи_машины_в_ремонт) AS Год
FROM dbo.Договор INNER JOIN
dbo.Ремонт ON dbo.Договор.Код_ремонта = dbo.Ремонт.Код_ремонта INNER JOIN
dbo.Материалы ON dbo.Договор.Код_израсходованного_компонента = dbo.Материалы.Код_израсходованного_компонента
GROUP BY dbo.Договор.Дата_сдачи_машины_в_ремонт

Пример: Есть 2 стоимости за декабрь и 3 за январь. Нужно чтоб 2 стоимости сложились и написались за декабрь, ну и следовательно за январь то же самое.
4 дек 11, 18:54    [11703299]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Alex_1992,

он выводит суммы но не соединяет их.
4 дек 11, 18:55    [11703302]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Alex_1992,
Ни у кого решения нет?
4 дек 11, 19:20    [11703386]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex_1992
он выводит суммы но не соединяет их.

Потому что у вас группировка по целой дате в запросе
4 дек 11, 19:20    [11703387]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex_1992
Ни у кого решения нет?

Вы на календарь смотрите ?
На русскоязычном форуме в воскресенье вечером вы ждете моментальных ответов ?
4 дек 11, 19:22    [11703392]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Glory,
Я понял что по целой дате, а не по месяцу
4 дек 11, 19:28    [11703412]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex_1992
Я понял что по целой дате, а не по месяцу

Ну так и что вам мешает поставить правильное выражение в GROUP BY ?
4 дек 11, 19:47    [11703446]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Glory,

Я ставил DATENAME(mm,
dbo.Договор.Дата_сдачи_машины_в_ремонт)
но он бил ошибку.
4 дек 11, 20:07    [11703480]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
aleks2
Guest
GROUP BY datediff(month, 0, dbo.Договор.Дата_сдачи_машины_в_ремонт)
4 дек 11, 20:10    [11703488]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
aleks2,

РУГАЕТСЯ
4 дек 11, 20:14    [11703500]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Glory
Member

Откуда:
Сообщений: 104751
Alex_1992

РУГАЕТСЯ

Ругаются грузчики,а сервер выдает сообщение об ощибке
И его надо читать
4 дек 11, 20:20    [11703518]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Glory,

Я прочитал

Colum 'dbo.Договор.Дата_сдачи_машины_в_ремонт' is invalid in the select list because it is not contained in either an aggregate function of the GROUP BY clause.
4 дек 11, 20:36    [11703575]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
SELECT	 Sum(М.Стоимость_детали + Р.Стоимость_ремонта)	AS [Прибыль за месяц]
	,DateName(Year ,Д.Дата_сдачи_машины_в_ремонт)	AS Год
	,DateName(Month,Д.Дата_сдачи_машины_в_ремонт)	AS Месяц
FROM	     dbo.Договор	Д
	JOIN dbo.Ремонт		Р ON Р.Код_ремонта = Д.Код_ремонта
	JOIN dbo.Материалы	М ON М.Код_израсходованного_компонента = Д.Код_израсходованного_компонента
GROUP BY DateName(Year ,Д.Дата_сдачи_машины_в_ремонт)
	,DateName(Month,Д.Дата_сдачи_машины_в_ремонт)
Можно и по другому.
4 дек 11, 20:53    [11703621]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
OffTop: В хмл-е есть тип YearMonth
4 дек 11, 21:02    [11703647]     Ответить | Цитировать Сообщить модератору
 Re: Нужно вывести прибыль по месеца  [new]
Alex_1992
Member

Откуда:
Сообщений: 55
Mnior,

Спасибо большое!!!
4 дек 11, 21:08    [11703670]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить