06.01.2010 09:20
OlegON
 
Выбирал лидеров по остаткам:
Цитата:
select s.*,c.name from (select g.article,sum(g.quantity) from supermag.smgoods g group by article order by 2 desc) s,supermag.smcard c where c.article=s.article and rownum<11
у меня, к сожалению, близко 9ки нет сейчас, у кого есть - попробуйте, пожалуйста, моя версия, что на 9ке выводит какую-то белиберду. Цель - понять какую именно, что он делает? Или это я ошибся?
06.01.2010 11:00
OlegON
 
Собственно, запрос переписал, без проблем.
Интересно, если у кого 9i - попробуйте, выводит ли у вас товары с наибольшим запасом? Интересно, что делает 9i. Найти систему.
06.01.2010 11:26
Shlong
 
Попробовал вывело это:
1000105 0 Чай "Jaf Tea Sweet Indulgences" цейлонский черный с ароматом тропических цветов 100г.
1000107 0 Чай "Jaf Tea Hazel Nut & Orange" цейлонский черный крупнолистовой с ароматом лесного ореха и апельсина 100г.
1000108 0 Чай "Jaf Tea Mango Banana" цейлонский черный крупнолистовой с ароматом манго и банана 100г.
1000111 0 Чай "Jaf Tea Exotik Fruit" цейлонский черный с лепестками экзотического фрукта 100г.
1000115 0 Чай "Jaf Tea Mystique" цейлонский черный зеленый с ароматом жасмина 100г.
1000125 5 Чай "Принцесса Нури" Бест цейлонский черный крупнолистовой 100г.
1000132 21 Чай "Принцесса Нури" отборный цейлонский черный 30 пакетиков 60г.
1000133 22 Чай "Принцесса Нури" высокогорный черный 30 пакетиков 60г.
1000135 14 Чай "Принцесса Канди" цейлонский черный б/ярлычков 30 пакетиков 60г.
1000136 0 Чай "Золотая чаша" индийский черный листовой 250г.

Однозначно это не лидеры по остаткам... и почему чаи?
06.01.2010 13:21
MirProd
 
В данной статье расписано, как работает ROWNUM. Исходя из этого, правильный запрос:
Код:
select s.*,c.name from (select * from (select g.article,sum(g.quantity) from supermag.smgoods g group by article order by 2 desc) where rownum<11) s,supermag.smcard c where c.article=s.article
А на 10-ке какой результат?
06.01.2010 15:41
OlegON
 
Да, я уже переписал запрос на другую логику, потом немного выспался, и сам понял, в чем дело :) Только предполагаю другой вариант, попробуйте, пожалуйста, чисто для моего успокоения:
Цитата:
select s.*,c.name from (select g.article,sum(g.quantity) from supermag.smgoods g group by article order by 2 desc) s,supermag.smcard c where c.article=s.article and s.rownum<11
на 10ке работает именно так, как я хотел с самого начала :) Т.е. по другому и rownum берет из первого множества.
06.01.2010 15:46
OlegON
 
Цитата:
Shlong Однозначно это не лидеры по остаткам... и почему чаи?
Сдается в 9 работает по умолчанию другая логика, которая rownum привинтила к другому множеству, т.е. smcard.
06.01.2010 17:06
Shlong
 
MirProd твой запрос попал в точку
OlegON последний запрос валится в ошибку ORA-01747 неверные спецификации для user.table.column или column
06.01.2010 17:44
OlegON
 
Цитата:
Shlong OlegON последний запрос валится в ошибку ORA-01747 неверные спецификации для user.table.column или column
Ну да, логично :( Короче, неоднозначный запрос, в 9ке он работает неправильно.
Часовой пояс GMT +3, время: 12:35.

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