в принципе может сойти и вот так:
Код:
select 'P' P, b.barcode, replace(c.name, ';','-')as name, p.price, (case when g.quantity>=0 then g.quantity when g.quantity<0 then 0 end) as quantity, null, null, 'шт' unit
from SMCARD c, SMGOODS g, SMPRICES p, SMSTOREUNITS b
where c.article = g.article
and c.article = p.article
and c.article = b.article
-- and g.quantity < 0
and p.pricetype = 0
and g.storeloc = 3
and accepted =1
если идет пересорт, тогда просто покажет 0, ну или колдовать дальше. у меня так все съедает, но я гружу через 1с и через *.dat файл.