у меня этот ценник вообще по ошибке валится.
будем исходить из того, что у тебя - работает.
"не то" - вот здесь:
Код:
select t.Article, t.Name, t.Country,t.Price,
t.UnitName, t.QtyPrint, t.BarCode,t.RUBNAME,
decode(t.PLU,null,'','PLU: '||t.PLU) PLU,
ROUND(t_pr.PRICE*((100-NVL(Supermag.SMGETDISCLIMITCARD(t_pr.ARTICLE, :P_PRICE_TYPE), 100))/100), 2) MIN_PRICE
from SUPERMAG.TTPriceCard t_pr, supermag.SVPriceCard t
where t_pr.ARTICLE=t.ARTICLE
order by 1
Код:
create or replace view svpricecard as
select t.Article Article, t.Name Name , t.CardComment CardComment,
t.Country Country, t.Price Price, t1.UnitName UnitName,
t1.Qty Qty, t1.QtyPrint QtyPrint,
t1.BarCode BarCode, t1.IsScale IsScale, t1.PLU PLU,
russianspell.PriceCardString(0,t.Price) RubSum,
russianspell.PriceCardString(1) RubName,
russianspell.PriceCardString(2,t.Price) KopSum,
russianspell.PriceCardString(3) KopName,
russianspell.PriceCardString(4,t.Price) PriceShort,
russianspell.PriceCardString(5,t.Price) PriceFull,
to_number(russianspell.PriceCardString(6)) PricePrec
from TTPriceCard t, TTPriceCard1 t1
where t.article = t1.article
в TTPriceCard каждая карточка отбирается столько раз, какое количество ты указал при печати.
svpricecard включает в себя выборку из TTPriceCard и поэтому в ней тоже каждая карточка столько же раз.
осталось связать их по артикулу и вуаля! каждая строка с артикулом из svpricecard повторилась при связывании столько раз, сколько раз этот артикул есть в TTPriceCard. количества перемножились.