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

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

21.11.2024 22:22


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

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

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

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


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

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

и еще, как лучше писать через 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, время: 22:22.

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