Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помесячная сумма платежей
 
 автор: LO   (28.12.2005 в 15:52)   письмо автору
 
 

У меня есть таблица, содержащая данные о покупке книг .Например:
CREATE TABLE 'get' (
'id' int(10) unsigned NOT NULL auto_increment,
'f_id' int(10) unsigned NOT NULL default '0',
'data' date NOT NULL default '0000-00-00',
'summa' float(10,2) NOT NULL default '0.00',
'b_id' int(10) unsigned NOT NULL default '0',
PRIMARY KEY ('id')
)
где f_id - id компании которая купила книгу (связь с др таблицей)
data - дата покупки книги
summ - стоимость книги
b_id - id книги (связь с другой таблицей)

Мне нужно одним запросом вывести информацию, о сумме затраченной конкретной фирмой (f_id ), на покупку конкретного вида книги (b_id ), на протяжении года, причем по каждому месяцу.
Вот прошу вашей помощи, а то че-то не соображу.

   
 
 автор: 10100100   (28.12.2005 в 15:59)   письмо автору
 
   для: LO   (28.12.2005 в 15:52)
 

логика следующая:
делаем выборку из бд столбцов содержащих название необходимой фирмы.
затем осуществляем суммирование данных в строке summ и производим вывод...

   
 
 автор: LO   (28.12.2005 в 16:01)   письмо автору
 
   для: 10100100   (28.12.2005 в 15:59)
 

мне нужен вывод по каждому месяцу за конкретный год,
Если б просто за год, то я бы и не обращался к вам

   
 
 автор: 10100100   (28.12.2005 в 17:00)   письмо автору
 
   для: 10100100   (28.12.2005 в 15:59)
 

так ну в таком случае делаем выборку сумм в период с "такого то месяца" по "такой то"...
хм.. интересная задача...

вот средне месячную было бы легче вычислить ...

тогда так делаем выборку за определённый год.. нет..
делаем выборку по всем месяцам где год равен "стольки то"...
и подсчитывае суммы..

блин, кк то по левому получается... тут Вам Хеопс нужен. али кто ещё поумнее меня (ну тоесть все оставшиеся 98% форума :) )

   
 
 автор: Loki   (28.12.2005 в 17:27)   письмо автору
 
   для: LO   (28.12.2005 в 15:52)
 

Боюсь, сразу по каждому месяцу не получится, придется делать 12 запросов.
Точнее, думаю, можно все объединить в запрос с использованием UNION, но читабельность этого запроса будет - мама дорогая!

   
 
 автор: 10100100   (28.12.2005 в 18:06)   письмо автору
 
   для: Loki   (28.12.2005 в 17:27)
 

а ну вот, знач я прав был... 12 запросов - да.. тяжело будет, хотя если всё прально сделать и интерфейсик приятненьки то и читабельность будет попроще...

   
 
 автор: cheops   (28.12.2005 в 18:49)   письмо автору
 
   для: LO   (28.12.2005 в 15:52)
 

А если так поступить
SELECT SUM(summa) FROM get
WHERE b_id=1 AND f_id = 12
GROUP BY MONTH(data)

   
 
 автор: LO   (28.12.2005 в 19:15)   письмо автору
 
   для: cheops   (28.12.2005 в 18:49)
 

Огромное спасибо cheops-у.
Я и забыл о таком обращении к дате.
Все получилось одним запросом

   
 
 автор: Loki   (28.12.2005 в 19:35)   письмо автору
 
   для: cheops   (28.12.2005 в 18:49)
 

гм... а я понял задачу что группировать планируется по клиентам...

   
 
 автор: cheops   (29.12.2005 в 02:29)   письмо автору
 
   для: Loki   (28.12.2005 в 19:35)
 

Для каждой фирмы 12 цифр не получится вывести - либо группировать по месяцам, либо по клиентам.

   
 
 автор: Loki   (29.12.2005 в 10:02)   письмо автору
 
   для: cheops   (29.12.2005 в 02:29)
 

Ну слава богу, а то я уж подумал что совсем не врубаюсь:)

   
 
 автор: 10100100   (29.12.2005 в 11:28)   письмо автору
 
   для: Loki   (28.12.2005 в 19:35)
 

во во, я так же думал...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования