Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

Задачи для обучения SQL-запросам в Супермаге : Программирование

29.03.2024 9:28


13.11.2014 10:42
Mtirt
 
Почитать описание функций to_date и to_char в oracle.
14.11.2014 11:05
BotMan
 
нету мыслей вообще 8(((
я понимаю так, что нужно показывать в какой день недели сколько какого артикула ушло?
14.11.2014 11:26
Mtirt
 
Про дни недели я ничего не писала...
Хорошо, просто в разбивке по дням месяца: 1,2,3,..., 30,31.
17.11.2014 09:53
BotMan
 
Код:
select to_char(s.createdat, 'DD') as "Число", round(sum(case 
                              when trim(sp.doctype) = 'CS' then sp.quantity 
                               when trim(sp.doctype) = 'CR' then -sp.quantity 
                                end )) as quant,
                             sum(case 
                              when trim(sp.doctype) = 'CS' then sp.totalprice
                               when trim(sp.doctype) = 'CR' then -sp.totalprice
                                end)  as total_$
                                 from smspec sp, smcard crd, smdocuments s

where sp.doctype IN ('CS', 'CR')
and s.id=sp.docid
and sp.doctype = s.doctype
and (s.createdat between '&date1' and '&date2')
and sp.article = crd.article
and crd.idclass in (select idclass from sacardclass where tree like '1.%')
group by s.createdat
order by 1 asc
сделал по дням, общее количество продаж.
17.11.2014 09:55
Mtirt
 
А Артикул товара зачем потерял то???
А еще попробуй сформировать отчет с 01.10.2014 по 15.11.2014 и посмотри, что получится...
17.11.2014 10:11
BotMan
 
Цитата:
Mtirt А еще попробуй сформировать отчет с 01.10.2014 по 15.11.2014 и посмотри, что получится...
вот засада )))
17.11.2014 10:13
Mtirt
 
Укажи в группировке то же самое выражение, что и в выборке.
17.11.2014 10:23
BotMan
 
Цитата:
Mtirt Укажи в группировке то же самое выражение, что и в выборке.
если использовать to_char тогда они группируются вместе 1.10 и 1.11, если добавить MM в выборку, тогда группируются за 1.10 сразу 1.11, а не 2.10.
если работать с to_date тогда все работает четко, только тогда зачем нужно дату в дату ))
17.11.2014 10:29
Mtirt
 
Ну по датам, да - чисто умозрительная задача...
А вот сравнить среднее значение реализации по дням недели, или одну неделю к предыдущей - может вполне попасться.
Так что можешь попробовать.
И верни всё же в выборку артикул товара.
17.11.2014 10:40
BotMan
 
Код:
select to_char(s.createdat, 'DD, month') as "Дата", sp.article, round(sum(case 
                              when trim(sp.doctype) = 'CS' then sp.quantity 
                               when trim(sp.doctype) = 'CR' then -sp.quantity 
                                end )) as quant,
                             sum(case 
                              when trim(sp.doctype) = 'CS' then sp.totalprice
                               when trim(sp.doctype) = 'CR' then -sp.totalprice
                                end)  as total_$
                                 from smspec sp, smcard crd, smdocuments s

where sp.doctype IN ('CS', 'CR')
and s.id=sp.docid
and sp.doctype = s.doctype
and (s.createdat between '&date1' and '&date2')
and sp.article = crd.article
and crd.idclass in (select idclass from sacardclass where tree like '1.%')

group by to_char(s.createdat, 'DD, month'), sp.article
order by 1 desc
оставил чар(интереснее получается), но группирует криво, вообще по букве берет
Часовой пояс GMT +3, время: 09:28.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.