SELECT 

(CASE
 WHEN (w.Auswertung1 IS NULL or w.Auswertung1='') then w.Bezeichnung
 ELSE w.Auswertung1
 END) As WGruppe,

 SUM(p.Anzahl*
(CASE      
 WHEN (p.Art=0 or p.Art=2 or p.Art=13 or p.Art=15) THEN 1     
 WHEN (p.Art=6) THEN -1
 ELSE 0
END)*                       
(CASE
  WHEN (v.Art IN ({ART_GU})) THEN -1
  ELSE 1            
 END)                                                                            
) As Menge ,
                      
SUM(p.Anzahl* ISNULL(p.Faktor,1) *
(CASE                                                                             
 WHEN (p.Art=0 or p.Art=2 or p.Art=13 or p.Art=15) THEN 1     
 WHEN (p.Art=6) THEN -1
 ELSE 0
END)*
(CASE                                                                           
  WHEN (v.Art IN ({ART_GU})) THEN -1
  ELSE 1     
 END)
*p.Preis/                                                                                                                    
(CASE                    
  WHEN ISNULL(p.Preiseinheit,1) =0 THEN 1
  ELSE ISNULL(p.Preiseinheit,1)
 END)                                            
*((100- ISNULL(p.Rabatt,0) )/100)*((100- ISNULL(p.Rabatt2,0) )/100)*((100- ISNULL(p.Rabatt3,0) )/100)*((100- ISNULL(p.RabattG,0) )/100)*((100- ISNULL(v.GRabatt,0) )/100)
/(CASE                                       
 WHEN v.Steuer<2 THEN (100+
  CASE 
   WHEN v.Vorgangsdatum>=m.NEU_Datum THEN m.NEU_MWST
   WHEN v.Vorgangsdatum>=m.Datum THEN m.NMWST
   ELSE m.MwSt
  END
 )/100
 ELSE 1
END)                              
) As Netto,

SUM((p.Anzahl* ISNULL(p.Faktor,1) * 
(CASE
 WHEN (p.Art=0 or p.Art=2 or p.Art=13 or p.Art=15) THEN 1     
 WHEN (p.Art=6) THEN -1
 ELSE 0
END)*
(CASE
  WHEN (v.Art IN ({ART_GU})) THEN -1
  ELSE 1     
 END)
*p.Preis/
(CASE                    
  WHEN ISNULL(p.Preiseinheit,1) =0 THEN 1
  ELSE ISNULL(p.Preiseinheit,1)
 END)
*((100- ISNULL(p.Rabatt,0)  )/100)*((100- ISNULL(p.Rabatt2,0) )/100)*((100- ISNULL(p.Rabatt3,0) )/100)*((100- ISNULL(p.RabattG,0) )/100)*((100- ISNULL(v.GRabatt,0)  )/100)
/(CASE
 WHEN v.Steuer<2 THEN (100+
  CASE 
  WHEN v.Vorgangsdatum>=m.NEU_Datum THEN m.NEU_MWST
  WHEN v.Vorgangsdatum>=m.Datum THEN m.NMWST
  ELSE m.MwSt
 END
 )/100
 ELSE 1
END)      
)-((p.Anzahl* ISNULL(p.Faktor,1) *
(CASE
 WHEN (p.Art=0 or p.Art=2 or p.Art=13 or p.Art=15) THEN 1     
 WHEN (p.Art=6) THEN -1
 ELSE 0
END)*
(CASE
  WHEN (v.Art IN ({ART_GU})) THEN -1
  ELSE 1     
 END)*
p.EK)/
 (CASE
  WHEN ISNULL(p.Preiseinheit,1) =0 THEN 1
  ELSE ISNULL(p.Preiseinheit,1)
 END)
*((100- ISNULL(p.RabattEK,0)  )/100)
 )
) As Rohertrag

FROM Positionen p LEFT OUTER JOIN Auftrag v ON v.Auftrag=p.Auftrag LEFT OUTER JOIN Artikel a ON a.Artikel=p.Artikel LEFT OUTER JOIN MwSt m ON CASE WHEN p.SonderUST>0 THEN p.SonderUST ELSE a.Umsatzsteuer END=m.MwSt_Satz LEFT OUTER JOIN Warengruppe w ON w.Warengruppe=a.Warengruppe
WHERE v.MANDANT={AKTIVE_MANDANT} AND v.ART IN ({ART_UMG}) AND v.Vorgangsdatum {ZEITRAUM} AND v.gedruckt=1 AND p.Art in (0,2,13,6,15) AND v.Vorgangsdatum {ZEITRAUM}
GROUP BY (CASE WHEN (w.Auswertung1 IS NULL or w.Auswertung1='') then w.Bezeichnung ELSE w.Auswertung1 END)
ORDER BY NETTO DESC LIMIT 10