select t.tw_symbol As [Symbol], t.tw_nazwa As [Nazwa], t.tw_PodstKodKresk As [Kod kreskowy], IsNull(grt_Nazwa,'(brak)') As [Grupa], ( SELECT ctw_Nazwa + ', ' FROM sl_CechaTw inner join tw_CechaTw on cht_IdCecha = ctw_Id WHERE cht_IdTowar = t.tw_Id ORDER BY ctw_Nazwa FOR XML PATH('') ) AS [Cechy towaru], t.tw_JednMiary As [JM] ,case when sum(A.mr_ilosc-isnull(R.mr_ilosc,0)) <> 0 then SUM(dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2)) / sum(A.mr_ilosc-isnull(R.mr_ilosc,0)) else 0 END As [Cena] , sum(A.mr_ilosc-isnull(R.mr_ilosc,0)) as [Stan], SUM(dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2)) As [Wart. netto], (select top 1 DOK.dok_NrPelny from vwZstPrzWgKhnt VWZSTWEW inner join dok__Dokument DOK ON DOK.dok_Id = VWZSTWEW.dok_Id inner join dok_Pozycja POZTMP ON POZTMP.ob_DokMagId = DOK.dok_Id where (DOK.dok_MagId IN (28,107,-999999) OR -1 IN (28,107,-999999)) and DOK.dok_Typ <> 9 AND VWZSTWEW.ob_TowId = tw_Id and DOK.dok_DataWyst <= '20220404' order by DOK.dok_DataWyst desc) As [Ostatnie przyjęcie], (select top 1 DOK.dok_DataWyst from vwZstPrzWgKhnt VWZSTWEW inner join dok__Dokument DOK ON DOK.dok_Id = VWZSTWEW.dok_Id inner join dok_Pozycja POZTMP ON POZTMP.ob_DokMagId = DOK.dok_Id where (DOK.dok_MagId IN (28,107,-999999) OR -1 IN (28,107,-999999)) and DOK.dok_Typ <> 9 AND VWZSTWEW.ob_TowId = tw_Id and DOK.dok_DataWyst <= '20220404' order by DOK.dok_DataWyst desc) As [Data ostatniego przyjęcia], (select top 1 DOK.dok_NrPelny from vwZstWydWgKhnt VWZSTWEW inner join dok__Dokument DOK ON DOK.dok_Id = VWZSTWEW.dok_Id inner join dok_Pozycja POZTMP ON POZTMP.ob_DokMagId = DOK.dok_Id where (DOK.dok_MagId IN (28,107,-999999) OR -1 IN (28,107,-999999)) and DOK.dok_Typ <> 9 AND VWZSTWEW.ob_TowId = tw_Id and DOK.dok_DataWyst <= '20220404' order by DOK.dok_DataWyst desc) As [Ostatnie wydanie], (select top 1 DOK.dok_DataWyst from vwZstWydWgKhnt VWZSTWEW inner join dok__Dokument DOK ON DOK.dok_Id = VWZSTWEW.dok_Id inner join dok_Pozycja POZTMP ON POZTMP.ob_DokMagId = DOK.dok_Id where (DOK.dok_MagId IN (28,107,-999999) OR -1 IN (28,107,-999999)) and DOK.dok_Typ <> 9 AND VWZSTWEW.ob_TowId = tw_Id and DOK.dok_DataWyst <= '20220404' order by DOK.dok_DataWyst desc) As [Data ostatniego wydania], DATEDIFF(dd,MIN(case when A.mr_ilosc-isnull(R.mr_ilosc,0) > 0 then MAG_RUCH_ORYG.mr_Data else null end),'20220404') As [Wiek], MIN(case when A.mr_ilosc-isnull(R.mr_ilosc,0) > 0 then MAG_RUCH_ORYG.mr_Data else null end) As [Data najstarszego przyjęcia], sum (case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-30,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-0,'20220404') then A.mr_ilosc-isnull(R.mr_ilosc,0) else 0 end) as [poniżej 30 dni - stan], SUM(case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-30,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-0,'20220404') then dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2) else 0 end) as [poniżej 30 dni - wartość], sum (case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-60,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-30,'20220404') then A.mr_ilosc-isnull(R.mr_ilosc,0) else 0 end) as [od 30 do 60 dni - stan], SUM(case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-60,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-30,'20220404') then dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2) else 0 end) as [od 30 do 60 dni - wartość], sum (case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-180,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-60,'20220404') then A.mr_ilosc-isnull(R.mr_ilosc,0) else 0 end) as [od 60 do 180 dni - stan], SUM(case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-180,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-60,'20220404') then dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2) else 0 end) as [od 60 do 180 dni - wartość], sum (case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-365,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-180,'20220404') then A.mr_ilosc-isnull(R.mr_ilosc,0) else 0 end) as [od 180 do 365 dni - stan], SUM(case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-365,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-180,'20220404') then dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2) else 0 end) as [od 180 do 365 dni - wartość], sum (case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-1000,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-365,'20220404') then A.mr_ilosc-isnull(R.mr_ilosc,0) else 0 end) as [powyżej 365 dni - stan], SUM(case when MAG_RUCH_ORYG.mr_Data > DATEADD(dd,-1000,'20220404') AND MAG_RUCH_ORYG.mr_Data <= DATEADD(dd,-365,'20220404') then dbo.fnInsMul((A.mr_Ilosc-isNull(R.mr_Ilosc,0)),W.mw_Cena,2) else 0 end) as [powyżej 365 dni - wartość], 1 as srt1 from dok_magruch A LEFT JOIN dok_MagRuch MAG_RUCH_ORYG ON A.mr_SeriaId = MAG_RUCH_ORYG.mr_Id inner join tw__towar T on A.mr_TowId = T.tw_Id inner join dok_Pozycja POZ_MAG_IN ON POZ_MAG_IN.ob_ID = A.mr_PozId inner join dok__Dokument DOK_MAG_IN ON DOK_MAG_IN.dok_Id = POZ_MAG_IN.ob_DokMagId left join sl_GrupaTw ON grt_Id = tw_IdGrupa inner join dok_magwart W on A.mr_SeriaId = W.mw_SeriaId left join ((select isnull( sum( C.mr_ilosc ), 0 ) mr_ilosc, C.mr_doId from dok_magruch C where C.mr_data<='20220404' group by C.mr_doId)) R on R.mr_DoId = A.mr_id left join dok_pozycja P on A.mr_PozId = P.ob_Id where W.mw_pozid in (SELECT TOP 1 T.mw_pozid FROM dok_magwart T WHERE T.mw_SeriaId = W.mw_seriaid and T.mw_data<='20220404' ORDER BY mw_data DESC, mw_pozid DESC) and ( (A.mr_MagId IN (28,107,-999999) OR -1 IN (28,107,-999999)) AND A.mr_magid IS NOT NULL ) and A.mr_data<='20220404' and A.mr_ilosc > (select isnull( sum( B.mr_ilosc ), 0 ) from dok_magruch B where B.mr_DoId = A.mr_id and B.mr_data<='20220404') AND 1 = 1 AND ( tw_IdGrupa in (-1,-999999) OR (-1 in (-1,-999999)) OR (0 in (-1,-999999) and tw_IdGrupa Is NULL ) ) AND (tw_Id IN (SELECT cht_IdTowar FROM tw_CechaTw WHERE cht_IdCecha in (47,-999999) ) OR -1 in (47,-999999) ) group by t.tw_id, t.tw_symbol, t.tw_nazwa,t.tw_PodstKodKresk, t.tw_JednMiary ,IsNull(grt_Nazwa,'(brak)')