Страница 2 из 2

Добавлено: 14 Сентябрь 2006, 9:36
Admin
Всем кто просил данные я выслал. А в ответ тишина :)

Добавлено: 18 Сентябрь 2006, 9:22
Andrew™
Admin писал(а):Всем кто просил данные я выслал. А в ответ тишина :)
Вот собстеввно как бы я сделал, но замечу, структура БД мне не понравилась:

Код: Выделить всё

create view v_ns_incomedet
 as select GoodsID,SUM(isnull(Amount,0)) as Credit
  from ns_incomedet
   group by GoodsID

Код: Выделить всё

create view v_ns_outlaydet
 as select GoodsID,SUM(isnull(Amount,0)) as Debit
  from ns_outlaydet
     group by GoodsID
результирующий SELECT, аналог SELECT'а по твоей ns_goods_view

Код: Выделить всё

SELECT 
  a.ID,a.GoodsName,b.Price,
    isnull(d.Credit,0) as Credit,
    isnull(e.Debit,0) as Debit,
    isnull(d.Credit,0) - isnull(e.Debit,0) as Balance 
 FROM ns_goods a 
  left outer join ns_incomedet b 
    on b.GoodsID=a.ID and isnull(b.UpdateDateTime,0) in (select MAX(isnull(c.UpdateDateTime,0)) from ns_incomedet c where c.GoodsID = a.ID) 
     left outer join v_ns_incomedet d on d.GoodsID=a.ID 
     left outer join v_ns_outlaydet e on e.GoodsID=a.ID