13.03.2014 07:57
Всем привет! Подскажите пожалуйста такую вещь: создал отчет в oracle reports, по истории авто-заказов, по двум сотрудникам, дата - интервал между началом года и по сегодняшний день. Выводит кучу повторяющихся строк артикулов за промежуток данный. Как сделать так чтобы в отчете были только не повторяющиеся артикулы???
13.03.2014 08:04
надо бы запрос приводить, а так - distinct
13.03.2014 08:12
вот запрос:
SELECT ALL SMSTAFF.SERVERLOGIN, SUPERMAG.SMSTOCKLEVELSHIST.ARTICLE, SMSTOCKLEVELSHIST.EVENTTIME
FROM SUPERMAG.SMSTAFF, SUPERMAG.SMSTOCKLEVELSHIST
WHERE (SMSTOCKLEVELSHIST.EMPLOYEE = SMSTAFF.ID) AND (SMSTOCKLEVELSHIST.EVENTTIME BETWEEN '01.01.2014' AND (SYSDATE)) AND ((SMSTAFF.SERVERLOGIN LIKE 'ЮЗЕР1') OR (SMSTAFF.SERVERLOGIN LIKE 'ЮЗЕР2')) ORDER BY SUPERMAG.SMSTOCKLEVELSHIST.ARTICLE;
13.03.2014 08:14
Ну и будет куча повторяющихся строк, так как в SMSTOCKLEVELSHIST всегда несколько записей по одному артикулу с разными событиями и параметрами.
Подумай, какие именно изменения по этим пользователям тебе нужны и добавь фильтр по ним.
13.03.2014 08:29
в моем случае для одного артикула все совпадающие данные как один случай..если он 3 числа например попадался а потом еще в 4 попал артикул - то просто отсечь как то бы за 4 число... то есть просто фамилия, и артикул...а фильтр где добавить лучше??
13.03.2014 08:31
Если даты совсем не нужны, то тогда самый простой способ так:
Код:
SELECT distinct SMSTAFF.SERVERLOGIN, SUPERMAG.SMSTOCKLEVELSHIST.ARTICLE
FROM SUPERMAG.SMSTAFF, SUPERMAG.SMSTOCKLEVELSHIST
WHERE (SMSTOCKLEVELSHIST.EMPLOYEE = SMSTAFF.ID) AND (SMSTOCKLEVELSHIST.EVENTTIME BETWEEN '01.01.2014' AND (SYSDATE)) AND ((SMSTAFF.SERVERLOGIN LIKE 'ЮЗЕР1') OR (SMSTAFF.SERVERLOGIN LIKE 'ЮЗЕР2')) ORDER BY SUPERMAG.SMSTOCKLEVELSHIST.ARTICLE;
13.03.2014 08:44
))просто и красиво вышло )) выручили Mtirt в который раз!!!
Часовой пояс GMT +3, время: 22:24.

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