11.07.2007 14:21
nekrom@nt.grave
 
с БД работаю всего неделю, так что не удивительно, ожидал намёка на моё ДНК
11.07.2007 14:22
nekrom@nt.grave
 
Цитата:
Mtirt Так и хочется ответить - в ДНК.

В smspec хранится цена из документа. Для приходной накладной - цена поставщика, для расходной и Z-отчета - цена продажи.

Просто подставляя цены ты получаешь большую и красивую кашу...
Для того, чтобы получить нормальный ответ, надо его нормально задать.
В твоем случае, понять, в каких ценах тебе нужны остатки на дату...
пасиба не углядел
13.07.2007 13:21
nekrom@nt.grave
 
несколько оффтоп, но все про тот же отчёт.
проблема такая в стандартном отчете записей больше чем в моём.
вот код, только проверяющий группу товаров:
Код:
select c.article as "Артикул",
       c.name as "Наименование",
       cc.tree as tree,
       cc.name
  from supermag.smcard c,
       supermag.sacardclass cc,
       supermag.smgoods g
   where c.idclass = cc.id(+)
   and cc.tree like '1.1.1.%'
   and c.article = g.article(+)
   and g.storeloc = 2
   order by 3
13.07.2007 13:27
nekrom@nt.grave
 
понял в чём проблема.
где ещё кроме смгудс мона посмотреть сторелок
13.07.2007 13:31
YuraZ
 
Цитата:
nekrom@nt.grave понял в чём проблема.
где ещё кроме смгудс мона посмотреть сторелок
SMSTORELOCATIONS
13.07.2007 13:38
nekrom@nt.grave
 
я имею ввиду связку артикл->storeloc
13.07.2007 13:46
YuraZ
 
Цитата:
nekrom@nt.grave я имею ввиду связку артикл->storeloc
Такой связки нет.
13.07.2007 13:53
nekrom@nt.grave
 
я ошибся мне так и не ясна проблема, с тем почему в моём отчёте записей меньше, чем в стандартном. вот код:
Код:
SELECT c.article as "Артикул",
       c.name as "Наименование",
       NVL(q.quantity,0)-NVL(pr.quantity,0)+NVL(rs.quantity,0) as "Остаток"
  FROM supermag.smcard c,
       supermag.smgoods q,
       supermag.sacardclass cc,
       (
        SELECT dc.article,
               SUM(dc.quantity) as quantity,
               SUM(dc.itemprice) as price
          FROM supermag.smdocuments d,
               supermag.smspec dc
         WHERE d.doctype=dc.doctype
           AND d.id=dc.docid
           AND d.docstate>=2
           AND TO_DATE(d.createdat) >= ('01.07.2007')
           AND d.locationto = (2)
        GROUP BY dc.article
       ) pr,
       (
        SELECT dc.article,
               SUM(dc.quantity) as quantity,
               SUM(dc.itemprice) as price
          FROM supermag.smdocuments d,
               supermag.smspec dc
         WHERE d.doctype=dc.doctype
           AND d.id=dc.docid
           AND d.docstate>=2
           AND TO_DATE(d.createdat) >= ('01.07.2007')
           AND d.locationfrom = (2)
        GROUP BY dc.article
       ) rs
 WHERE c.article=pr.article(+)
   AND c.article=rs.article(+)
   AND c.article=q.article(+)
   AND q.storeloc=(2)
   AND c.idclass = cc.id(+)
   AND cc.tree like '1.1.1.%'
на основе опликованного на этом форуме
13.07.2007 14:02
YuraZ
 
Напиши AND q.storeloc(+)=2
13.07.2007 14:13
nekrom@nt.grave
 
хм, не знал что так можно, это ведь как бы и не джойн - справа константа.
только теперь результатов больше
Часовой пояс GMT +3, время: 11:23.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.