Witam
kiedyś ktoś z forum podpowiedział mi takie zestawienie które grupuje sprzedaż wg pracowników i magazynów
SELECT
'Pracownik' = CASE WHEN GROUPING(dok_Wystawil) = 1 THEN '(Razem sprzedaż)' ELSE CASE WHEN dok_Wystawil = '' THEN 'brak pracownika' ELSE ISNULL(dok_Wystawil, '(Pracownik nieokreślony)') END END,
SUM(ob_IloscMag*ob_Znak) AS 'Ilość',
SUM(ob_WartBrutto*ob_Znak) AS 'Brutto',
SUM(ob_WartNetto*ob_Znak) AS 'Netto',
SUM(CASE WHEN (ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr(dok_DataWyst, ob_Id)*ob_Znak END) as 'Koszt',
SUM((ob_WartNetto-CASE WHEN (ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr(dok_DataWyst, ob_Id) END) * ob_Znak) as 'Zysk',
Marza = CONVERT(MONEY, CASE WHEN SUM(ob_WartNetto * ob_Znak)<>0 THEN (SUM((ob_WartNetto-CASE WHEN (ob_TowRodzaj&6)>0 THEN 0.0000 ELSE dbo.fnZestSub_KosztSpr(dok_DataWyst, ob_Id) END) * ob_Znak)/SUM(ob_WartNetto * ob_Znak))*100 ELSE 0.0000 END )
FROM vwZstSprzWgKhnt
LEFT JOIN tw__Towar ON ob_TowId = tw_Id
LEFT JOIN sl_GrupaTw ON tw_IdGrupa = grt_Id
WHERE (( dok_DataWyst BETWEEN {DR:Data dokumentu})
AND (dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp)
IN ({CHL:Faktura VAT sprzedaży#131072#Faktura sprzedaży detaliczna#131073#Faktura sprzedaży zbiorcza#131074#Faktura sprzedaży zaliczkowa#131075#FS zaliczkowa cząstkowa nowa#131076#FS zaliczkowa końcowa nowa#131077#Rachunek sprzedaży#262144#Korekta faktury VAT sprzedaży#393216#Korekta faktury sprzedaży do nieistniejącego#393217#KFS korekta całkowita faktury zaliczkowej#393218#Paragon#1376256#Paragon fiskalny#1376257#Paragon imienny#1376258#Paragon odebrany z kasy#1376259#Zwrot#917504#Zwrot do nieistniejacego#917505#:Typ dokumentu:131072,131074,131075,131076,131077,262144,393216,393217,393218,1376256,1376257,1376258,1376259,917504,917505:(sprzedaż bez faktur detalicznych)})))
AND (dok_RodzajOperacjiVat IN ({CHL:sprzedaż krajowa - S#0#wewnątrzwspólnotowa dostawa towarów - WDT#2#eksport towarów (poza UE) - EX#1#transakcja trójstronna (dostawa) - WTTD#3#eksport usług - EXU#4#sprzedaż poza terytorium kraju - SPTK#12#odwrotne obciążenie (sprzedaż) - OOs#6#:typ transakcji VAT:0,2,1,3,4,12,6:(dowolny)})) AND (dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn:magazyn:Select mag_Id FROM sl_Magazyn:(dowolny)})) AND dok_Status <> 2
GROUP BY dok_Wystawil WITH ROLLUP
a teraz moje pytanie jest takie, czy da się aby jeżeli na magazynie nie było sprzedaży , taki magazyn też się wyświetlał tylko z sumą 0
żeby te 0 było widoczne, bo teraz jeśli nie było sprzedaży to dany magazyn się nie wyświetla czy pracownik
czy ktoś pomoże bo ja ogarniam tylko proste zapytania sql
ps. czy da się tak napisać zestawienie jak jest to w fabrycznym że jeśli użytkownik nie ma uprawnień do zmiany magazynów to żeby i tutaj nie miał takiej możliwości (żeby domyślnie był jego magazyn i nie mógł tego przełączyć)
jak się nie da to ograniczę widoczność zestawienia dla danych użytkowników także nie ma problemu, ale może da się po prostu to zaimplementować ?