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

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

02.05.2024 11:45


14.10.2014 11:47
OlegON
 
(+) обозначает LEFT OUTER JOIN или RIGHT OUTER JOIN, т.е. в данном случае, если справа не будет хватать пары для левого значения, значение будет все равно выведено в паре с NULL.
Некогда малость, но без вложенного запроса никак?
14.10.2014 12:10
BotMan
 
вот как то так.


Код:
select ff.serverlogin Сотрудник, ss.typename Документ, count(ss.typename) Количество from smstaff ff, smdoclog s, ssobjecttypes ss
where s.eventtime>sysdate-1
and ss.objtype = s.doctype(+)
and ff.serverlogin=s.username
group by ss.typename, ff.serverlogin order by 3 desc
не уверен в правильности, честно говоря. хотя запрос проходит без ошибок, возвращает данные.

что-то эти Where И and and мне кажутся подозрительными
14.10.2014 12:29
Micle
 
Да вроде ничего подозрительного.

Код:
ss.objtype = s.doctype(+)
and ff.serverlogin=s.username
условия, задающие критерии связывания таблиц.


Код:
s.eventtime>sysdate-1
условие отбора событий по времени.
14.10.2014 12:34
BotMan
 
а есть ли принципиальная разница в написании с под запросами или без??
14.10.2014 12:35
OlegON
 
С подзапросами, как правило, тормознее.
14.10.2014 16:09
BotMan
 
может еще что-нибудь, такого плата?
14.10.2014 16:31
Mtirt
 
Можешь теперь посчитать сколько раз в этих документах встречается заданный артикул товара?
15.10.2014 12:28
BotMan
 
Код:
select article, count(article) from smspec sp, smdoclog s
where s.eventtime>sysdate-1
and  s.id = sp.docid
and sp.article = 'xxxxxx'
group by article
Часовой пояс GMT +3, время: 11:45.

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