[ОТВЕТИТЬ]
Опции темы
14.02.2012 15:45  
AlexeyF
Сам себя обманул.
Если товар находится в дочерней подгруппе, относительно какой нибудь из искомых 7-ми групп, то мой скрипт работает корректно. Если товар находится именно в этих 7-ми группах то выбираются ошибочные , лишние записи.

Поделитесь, как можно вытащить все продажи по кассовому документу для товаров, входящих в какие нибудь две группы, с подгруппами, и не входящими в эти же две группы с подгруппами.

Я уже всяко разно перепробовал варианты со своим скриптом, предложите кто нибудь свой вариант ???
 
14.02.2012 15:50  
Mtirt
Наскоро тебе из старого запроса:
Цитата:
t.idclass in (select a.id from sacardclass a
where substr(a.tree,1,instr(a.tree, '.',1)-1) not in ('2','3', '4','5','6','7','8','17','18','19','20','25',
'28','29','30','33','34'))
Это группы первого уровня.
Для второго надо поменять функцию примерно на это: substr(a.tree,1,instr(a.tree, '.',2)-1) (Прости, прямо сейчас не тестировала) И в качестве условия указывать узлы дерева: ('2.1', '2.2')
 
14.02.2012 17:53  
akonev
Цитата:
Сообщение от AlexeyF
...
Я уже всяко разно перепробовал варианты со своим скриптом, предложите кто нибудь свой вариант ???
Код:
select s.*
from smspec s,
     (select article from smcard c where c.idclass in(select id from sacardclass t where t.tree like '99.19.%' or t.tree like '99.9.%')) c2
where s.doctype='CS' and s.docid='CS20120210@31'
  and s.article=c2.article
или перенести все карточки в конечные группы и тупо перечислить их ID

или - если маркетинговые группы не используете - пометить все нужные группы И подгруппы в нем (я себе вьюшку рисовал, чтобы в отчетах вложенные группы наследовали установку от ближайшей старшей), потом по нему отбирать. один раз назначить ответственного и заставить его помечать группы при необходимости пересмотреть набор групп. но этот вариант лучше для каких-то глобальных выборок зарезервировать, которые весь классификатор должны на ломтики резать.

Добавлено через 6 минут 51 секунду
это были входящие. соответственно, не входящие
where c.idclass NOT in(select id
на втором уровне вложенности селектов.
 
14.02.2012 18:41  
AlexeyF
В том и дело, что перечислять ID всех нужных групп, а их в подгруппах много. Лучше было бы указывать родительскую группу и нормально обрабатывать данные из неё самой и из дочерних.
Меня вот сейчас разбирает любопытство как отбираются карточки у супермага в разделе "карточки". Там мы выбираем группу и получаем список артикулов и из вложенных групп тоже. По идее это то что надо.

Завтра днём буду пробовать...
 
14.02.2012 20:13  
OlegON
Так like у Андрея тебя чем не устроил?
 
15.02.2012 05:26  
AlexeyF
Не то что не устроил, ещё не проверил. Сейчас со срочными вопросами разберусь и начну проверять все идеи, которые были предложены.
 
22.02.2012 09:58  
Mtirt
Чем дело закончилось?
 
22.02.2012 11:41  
AlexeyF
Дело не закончилось - в прошедшие выходные не успел сесть, надеюсь в эти выходные погоняю тесты.
 
 


Опции темы



Часовой пояс GMT +3, время: 11:45.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.