последние два условия - первый и второй уровни классификатора.
вместо моих '18.' и '6.' вставляешь свои номера по классификатору. также как у меня, с точкой.
если нужен только первый уровень классификатора - выкини условие с Item2.
нужно глубже - добавь такие же строчки с Item3 и так далее до Item10
выкинешь все условия с Item - будут все карточки из всех групп
раз у тебя больше с весом в четвертом поле - сделал под четвертое.
не забывай, что остатки по месту хранения не фильтруются. если мест хранения с остатками в базе больше, чем одно - надо добавлять условие.
Код:
select
replace(c.name,chr(9),' ') as name,
substr(c.name,instr(c.name,chr(9),1,3)+1,instr(c.name,chr(9),1,4)-instr(c.name,chr(9),1,3)-1) as ves,
g.quantity,
v.tree,
RTRIM(v.name1||'/'||v.name2||'/'||v.name3||'/'||v.name4||'/'||v.name5||'/'||v.name6||'/'||v.name7||'/'||v.name8||'/'||v.name9||'/'||v.name10||'/','/') as gr
from smcard c, smgoods g, svcardtreesplit v
where c.article=g.article
and v.id=c.idclass
and g.quantity<>0
and v.Item1='18.'
and v.Item2='6.'