SELECT
dok_DataWyst as Data_Wystawienia_dokumentu,
dok_Podtytul as Nr_dokumentu,
adr_NazwaPelna as Nazwa_odbiorcy,
CASE WHEN kh_www='' THEN CAST (adr_Adres as nvarchar)+', '+CAST(adr_Kod as nvarchar)+', '+CAST(adr_Miejscowosc as nvarchar) ELSE kh_www END as adres_odbiorcy,
ob_ilosc*ob_znak as ilosc_t,
tw_SWW as kod_CN,
kh_Uwagi as Podstawa_prawna_zwolnienia
FROM
"roltech"."dbo"."dok__Dokument"
INNER JOIN
"roltech"."dbo"."kh__Kontrahent"
ON
dok_OdbiorcaID = kh_id
INNER JOIN
"roltech"."dbo"."adr__Ewid"
ON
kh_Symbol = adr_Symbol
INNER JOIN
"roltech"."dbo"."dok_Pozycja"
ON
dok_Id = ob_DokHanId
INNER JOIN
"roltech"."dbo"."tw__Towar"
ON
ob_TowId = tw_Id
left join sl_GrupaKh on sl_GrupaKh.grk_Id = kh__Kontrahent.kh_IdGrupa
WHERE
dok__Dokument.dok_Typ = 21
AND
dok_Podtyp = 2
and (sl_GrupaKh.grk_Id in ({CHL_DB: SELECT grk_Id, grk_Nazwa FROM sl_GrupaKh:Grupa kontrahentów}))
AND
((dok_DataWyst BETWEEN {D: Termin Realizacji od:0} AND {D: do:0}))
AND
(
tw_Id IN (SELECT cht_IdTowar FROM tw_CechaTw WHERE cht_IdCecha IN
({CHL_DB:SELECT ctw_Id, ctw_Nazwa FROM sl_cechaTw UNION
SELECT (-1), ' (dowolna) '
UNION
SELECT (0), '(brak)'
ORDER BY ctw_Nazwa:cecha towaru:-1:(dowolna)}))
OR
-1 IN
({CHL_DB:SELECT ctw_Id, ctw_Nazwa FROM sl_cechaTw UNION
SELECT (-1), ' (dowolna) '
UNION
SELECT (0), '(brak)'
ORDER BY ctw_Nazwa:cecha towaru:-1:(dowolna)})
OR
(0 IN
({CHL_DB:SELECT ctw_Id, ctw_Nazwa FROM sl_cechaTw UNION
SELECT (-1), ' (dowolna) '
UNION
SELECT (0), '(brak)'
ORDER BY ctw_Nazwa:cecha towaru:-1:(dowolna)})
AND
(TW_ID NOT IN (SELECT cht_IdTowar FROM tw_CechaTw) or tw_id is null))
)
AND tw_SWW <> ''
ORDER BY dok_DataWyst;
Zestawienie jeszcze nie jest doskonałe. Pasuje dopisać właściwy wybór CN (teraz to SWW). Potrzebna jest jeszcze kolumna "TOWAR" i ewentualnie "JM". Prośba do bardziej zaawansowanych w SQL