Dziękuje wszystkim za odpowiedź.
Załączam zapytanie SQL
select
T.tw_Id AS [IndexTow],
T.tw_Nazwa AS [Towar],
T.tw_Opis AS [Opis],
T.tw_SWW AS [Ilosc w opakowaniu],
IsNull(IloúÊ,0) AS [Sprzedaz w okresie],
IsNull(st_Stan,0) As [Stan magazynowy]
from
tw__Towar T left join
(
SELECT
tw_Id,
CASE WHEN tw_Nazwa = '' THEN '(Brak nazwy towaru)' ELSE CASE WHEN tw_Nazwa IS NULL THEN '(Us≥uga jednorazowa)' ELSE tw_Nazwa END END As [Towar],
tw_Symbol As [Symbol],
tw_Opis As [Opis],
tw_SWW As [SWW],
SUM(IsNull(ob_IloscMag,0) * IsNull(ob_Znak,0)) as [IloúÊ],
tw_JednMiary As [jm],
SUM(IsNull(ob_WartBrutto,0) * IsNull(ob_Znak,0)) as [Brutto],
SUM(IsNull(ob_WartNetto,0) * IsNull(ob_Znak,0)) as [Netto],
SUM(CASE WHEN (ob_TowRodzaj&6)>0 THEN 0 ELSE IsNull(ob_WartMag,0)*IsNull(ob_Znak,0) END) as Koszt,
SUM(((IsNull(ob_WartNetto,0)-CASE WHEN (ob_TowRodzaj&6)>0 THEN 0 ELSE IsNull(ob_WartMag,0) END) * IsNull(ob_Znak,0))) as Zysk
FROM tw__Towar left join dok_Pozycja ON ob_TowId = tw_Id
LEFT join dok__Dokument On dok_id = ob_DokHanId
WHERE
(
(
dok_Status<>2 AND
(
( dok_DataWyst BETWEEN {D:Data wystawienia od} AND {D:do} )
AND (dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN (131072,131073,131075,131074,262144,393216,393217,1376256,1376258,1376257,1376259,917504,917505) )
AND ob_TowRodzaj & 15 > 0
)
)
OR ob_Id is null
)
GROUP BY tw_Id,tw_Nazwa, tw_Symbol, tw_JednMiary, tw_Opis,tw_SWW
) a
ON T.tw_Id = a.tw_Id
LEFT JOIN tw_Stan on st_TowId = T.tw_Id AND st_MagId = {DB:Select mag_Id,mag_Nazwa from sl_Magazyn:Magazyn}
WHERE
(T.tw_Id IN (SELECT cht_IdTowar FROM tw_CechaTw WHERE cht_IdCecha IN ({CHL_DB:SELECT -1 AS ctw_Id,'(dowolna)' As ctw_Nazwa UNION SELECT ctw_Id,ctw_Nazwa FROM sl_CechaTw ORDER BY ctw_Nazwa:Cecha towaru:-1:(dowolna)})) OR '({CHL_DB:SELECT -1 AS ctw_Id,'(dowolna)' As ctw_Nazwa UNION SELECT ctw_Id,ctw_Nazwa FROM sl_CechaTw ORDER BY ctw_Nazwa:Cecha towaru:-1:(dowolna)})' = '(-1)' )
ORDER BY T.tw_Nazwa