INSERT INTO {AKTIVE_TABELLE} (Artikel,WARE1,Warengruppe,Stueckzahl,Netto,Brutto,Rohertrag,Rabatt) 
SELECT a.Artikel, ISNULL(p.WARE1,0), a.Warengruppe, SUM(p.Anzahl*
(CASE      
 WHEN (p.Art IN (0,2,13,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 IN (0,2,13,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 IN (0,2,13,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 1
 ELSE (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
END)
) As Brutto,
          
SUM((p.Anzahl* ISNULL(p.Faktor,1) * 
(CASE
 WHEN (p.Art IN (0,2,13,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.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 IN (0,2,13,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,                                     

SUM((p.Anzahl* ISNULL(p.Faktor,1) * 
(CASE
 WHEN (p.Art IN (0,2,13,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)
/
(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 IN (0,2,13,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 Nettorabatt

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 {AKTIVE_WHERE} AND p.Art in (0,2,13,6,15) AND v.Vorgangsdatum {ZEITRAUM}
GROUP BY a.Artikel, ISNULL(p.WARE1,0), a.Warengruppe
ORDER BY <DEF_FOR_MSSQL:a.Artikel,a.Warengruppe><DEF_FOR_MYSQL:a.Artikelnummer,a.Bezeichnung>