|
|
|
| У меня есть таблица, содержащая данные о покупке книг .Например:
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 ), на протяжении года, причем по каждому месяцу.
Вот прошу вашей помощи, а то че-то не соображу. | |
|
|
|
|
|
|
|
для: LO
(28.12.2005 в 15:52)
| | логика следующая:
делаем выборку из бд столбцов содержащих название необходимой фирмы.
затем осуществляем суммирование данных в строке summ и производим вывод... | |
|
|
|
|
|
|
|
для: 10100100
(28.12.2005 в 15:59)
| | мне нужен вывод по каждому месяцу за конкретный год,
Если б просто за год, то я бы и не обращался к вам | |
|
|
|
|
|
|
|
для: 10100100
(28.12.2005 в 15:59)
| | так ну в таком случае делаем выборку сумм в период с "такого то месяца" по "такой то"...
хм.. интересная задача...
вот средне месячную было бы легче вычислить ...
тогда так делаем выборку за определённый год.. нет..
делаем выборку по всем месяцам где год равен "стольки то"...
и подсчитывае суммы..
блин, кк то по левому получается... тут Вам Хеопс нужен. али кто ещё поумнее меня (ну тоесть все оставшиеся 98% форума :) ) | |
|
|
|
|
|
|
|
для: LO
(28.12.2005 в 15:52)
| | Боюсь, сразу по каждому месяцу не получится, придется делать 12 запросов.
Точнее, думаю, можно все объединить в запрос с использованием UNION, но читабельность этого запроса будет - мама дорогая! | |
|
|
|
|
|
|
|
для: Loki
(28.12.2005 в 17:27)
| | а ну вот, знач я прав был... 12 запросов - да.. тяжело будет, хотя если всё прально сделать и интерфейсик приятненьки то и читабельность будет попроще... | |
|
|
|
|
|
|
|
для: LO
(28.12.2005 в 15:52)
| | А если так поступить
SELECT SUM(summa) FROM get
WHERE b_id=1 AND f_id = 12
GROUP BY MONTH(data)
|
| |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 18:49)
| | Огромное спасибо cheops-у.
Я и забыл о таком обращении к дате.
Все получилось одним запросом | |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 18:49)
| | гм... а я понял задачу что группировать планируется по клиентам... | |
|
|
|
|
|
|
|
для: Loki
(28.12.2005 в 19:35)
| | Для каждой фирмы 12 цифр не получится вывести - либо группировать по месяцам, либо по клиентам. | |
|
|
|
|
|
|
|
для: cheops
(29.12.2005 в 02:29)
| | Ну слава богу, а то я уж подумал что совсем не врубаюсь:) | |
|
|
|
|
|
|
|
для: Loki
(28.12.2005 в 19:35)
| | во во, я так же думал... | |
|
|
|