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

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

19.03.2024 5:04


13.10.2014 11:15
BotMan
 
собственно почитываю SQL так как буратинко я.
есть небольшая просьба, немного помочь с обучение, конечно если не сложно. киньте пару простых задачек(На select ), типа найти количество такого-то артикула ну или что-нибудь в этом духе, и подсказка: использовать таблицы SMgoods и т.д.

заранее большое спасибо )
13.10.2014 11:45
OlegON
 
Ну, например, вывести перечень и количество документов, созданных за сутки от момента запуска скрипта. С группировкой по типу и расшифровкой типа. Т.е. список вида:

Приходная накладная 1000
Акт переоценки 200
...

все подсказки есть в описании структуры БД :)
13.10.2014 11:47
BotMan
 
Цитата:
OlegON
все подсказки есть в описании структуры БД :)


вообще огонь 8))))
спасибо, ушел читать структуру БД 8)
13.10.2014 11:55
OlegON
 
Т.е. задачка слишком сложная, поскольку надо в условии описывать откуда что брать? Ты посмотри тогда по слову select на форуме, задачек-то много подобных...
Начни с таблички smdoclog...
13.10.2014 13:28
BotMan
 
вот к такому варианту пришел быстро, что делать дальше хз ))
не знаю как расшифровать тип

select doctype Документ, count(doctype) Количество from smdoclog
where docdate = '13.10.2014'
group by doctype
13.10.2014 13:32
Micle
 
join с таблицей содержащей названия типов. И конечно чтение докции по JOIN оставляю за Вами. ;) Учиться так учиться!
13.10.2014 14:10
OlegON
 
И нарушено условие по "за сутки от момента запуска скрипта", читаем про sysdate.
13.10.2014 14:16
BotMan
 
не могу найти таблицу содержащую название типов, возможно нашел, как в ней вообще выглядят эти названия? ))
13.10.2014 16:23
BotMan
 
короче уперся в дату, запрос проходит без ошибки, но ничего не выводит...

и еще, как лучше писать через INNER JOIN или просто через Запятую?


select ss.typename Документ, count(ss.typename) Количество from smdoclog s, ssobjecttypes ss
where s.docdate BETWEEN sysdate and sysdate -1
and ss.objtype = s.doctype
group by ss.typename

=============================
INNER JOIN

select ss.typename Документ, count(ss.typename) Количество from smdoclog s INNER JOIN ssobjecttypes ss
ON (s.docdate = BETWEEN sysdate and sysdate -1 and ss.objtype = s.doctype)
group by ss.typename
Часовой пояс GMT +3, время: 05:04.

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