Код:
select l.name as Магазин,
d.id as ИД_Заказа,
d.createdat as Дата_заявки,
dd.datedat2 as Дата_поставки_по_графику,
cb.wdat as Дата_факт_поставки,
trunc(to_date(cb.wdat,'dd.mm.yyyy'))-trunc(to_date(dd.datedat2,'dd.mm.yyyy')) as Разница_в_днях_поставки,
i.name as Поставщик ,
bb.baseid as Номер_контракта,
cr.article as Артикул_торава,
cr.name as Наименование_товара,
cr.mesabbrev as Ед_изм,
s.quantity as Количество_товара_заказанное,
cb.quantity as Колво_товара_поставленного,
round(cb.quantity-s.quantity,2) as Разница_заказано_поставлено,
round(s.itemprice,2) as Цена_в_заказе,
round(cb.itemprice,2) as Цена_в_приходе,
round(cb.itemprice-s.itemprice,2) as Разница_цен,
round(cb.quantity/(s.quantity/100)*0.01,2)*100||'%' as Процент_выполнения_заказа,
round(s.quantity*s.itemprice,2) as Сумма_заказа,
round(cb.quantity*cb.itemprice,2) as Сумма_поставки
from smdocuments d, smspec s, smstorelocations l, smdatedocs dd,
(Select sdoc.id wdoc, sdoc.doctype wtype,sdoc.createdat wdat,b.baseid,b.basedoctype,sw.article,sw.quantity,sw.itemprice,sdoc.locationto
from smcommonbases b, smdocuments sdoc, smspec sw,smwaybillsin wi
where b.doctype = sdoc.doctype
and b.id = sdoc.id
and sdoc.doctype = 'WI'
and sdoc.id = wi.id
and sdoc.doctype = wi.doctype
and sw.doctype = sdoc.doctype
and sw.docid = sdoc.id
and b.basedoctype = 'OR'
and sdoc.createdat >= to_date('&Начало_периода','dd.mm.yyyy') and sdoc.docstate = 3) cb, -- выбор позиций накладных по заказу
smclientinfo i,
smcommonbases bb,
smcard cr
where l.id = d.location
and d.id = cb.baseid
and d.doctype = cb.basedoctype
and d.id = s.docid
and d.doctype = s.doctype
and d.doctype = dd.doctype
and d.id = dd.id
and d.clientindex = i.id
and s.article(+) = cb.article
and s.article = cr.article
and cb.locationto = d.location(+)
and bb.basedoctype(+) = 'CO'
and bb.id = d.id
and d.docstate in (3)
and l.id in (select loc.id from smstorelocations loc where upper(loc.name) like upper('%&Mecmo_Хранения%'))
and l.id not in(-1,1,2,10,13,14,22,34,35,40,45,48,51,52,54,55,56,57,58,59,60)
and i.name like '%&Поставщик%'
and bb.doctype = d.doctype
and d.createdat >= to_date('&Начало_периода','dd.mm.yyyy') and d.createdat<= to_date('&Конец_периода','dd.mm.yyyy')
group by l.name,
d.createdat,
dd.datedat2,
cb.wdat,
trunc(to_date(cb.wdat,'dd.mm.yyyy'))-trunc(to_date(dd.datedat2,'dd.mm.yyyy')),
i.name,
bb.baseid,
cr.article,
cr.name,
cr.mesabbrev,
s.quantity,
cb.quantity,
cb.quantity-s.quantity,
s.itemprice,
cb.itemprice,
cb.itemprice-s.itemprice,
d.id,
round(cb.quantity/(s.quantity/100)*0.01,2)*100||'%'
order by i.name, d.createdat;
В общем чет не могу сообразить как сюда добавить заказы со 2-м статусом...