2 Summen von einnander Abziehen

hikeda_ya

Erfahrenes Mitglied
Hallo Leute,

ich stelle mich wieder einmal dämlich an.

Situation:

Ich habe eine Tabelle in der Mengen pro Artikel drinstehen mit einem Status 10 Zugang vom Lieferant und Status 25 Zurück zum Lieferant.

Ich muss nun alle Mengen pro Gruppe zusammenzählen. -Das ist mir gelungen.

jetzt muss ich nur das was ich dem Lieferant zurückgeschickt habe von dem abziehen was ich von ihm bekommen habe.

bsp: 50 Flaschen Sprudel geliefert
25 leere Flaschen Sprudel zurück

= 25 Flaschen noch bei mir

Da ich aber nicht nur eine Sorte Flasche habe muss ich das auf Flaschentyp herunterbrechen.

also

50 Sprudelflaschen bekommen
75 Colaflaschen bekommen
25 Sprudelflaschen zurück
10 Sprudelflaschen bekommen
50 Colaflaschen zurück
75 Colaflaschen bekommen

sollte dann ergeben
Sprudelflaschen 50+10 = 60 bekommen
Colaflaschen 75+75 = 150 bekommen
Sprudelflaschen 25+0 = 25 Zurück
Colaflaschen 50 + 0 = 50 zurück

ergibt:
Sprudelflaschen bekommen 60 - Sprudelflaschen zurück 25 = 35 noch da
Colaflaschen bekommen 150 - Colaflaschen zurück 50 = 100 noch da

und bei dem Letzten hänge ich. Ich bekomme es nicht hin das er mir auch das richtige voneinander abzieht.

mein Ansatz:
PHP:
$results=mssql_query("select sum(Menge) as 'SummeZug',Variantennummer from lagerbewegung where artikelnummer = '".$_REQUEST['arAN']."' and SatzartZeilenart=10 
      Group by Variantennummer");



        while ($result=mssql_fetch_assoc($results))
   
      {
      
      $SummeZug = $result['SummeZug'];
      $VariantenSummeZug = $result['SummeZug'].$result['Variantennummer'];
      $VarianteZug = $result['Variantennummer'];  
    
      
      echo "summe zug"." ".$SummeZug." ".$result['Variantennummer'];
              
       echo '<br>';
        
      } 
      
     
       $results=mssql_query("select sum(Menge) as 'SummeAbg', Variantennummer from lagerbewegung where artikelnummer = '".$_REQUEST['arAN']."' and SatzartZeilenart=25
       Group by Variantennummer");
     
    
         while ($result=mssql_fetch_assoc($results))
   
      {  
      $SummeAbg = $result['SummeAbg'];  
      $VariantenSummeAbg = $result['SummeAbg'].$result['Variantennummer'];
      $VarianteAbg = $result['Variantennummer'];  
      
         echo '<br>';
         echo "Summe Abg ".$result['SummeAbg']." ".$result['Variantennummer'];  
      }  
      
      $results=mssql_query("delete from BERECHNUNG");
      
      
      $results=Mssql_query("insert into BERECHNUNG ( SummeZug, Variantennummer)
                            select sum(Menge) as 'SummeZug',Variantennummer from Lagerbewegung 
                            where artikelnummer = '".$_REQUEST['arAN']."' and SatzartZeilenart=10
                            group by Variantennummer"); 
         
                                   
                            
      $results=Mssql_query("insert into BERECHNUNG ( SummeAbg, Variantennummer)
                            select sum(Menge) as 'SummeAbg',Variantennummer from Lagerbewegung 
                            where artikelnummer = '".$_REQUEST['arAN']."' and SatzartZeilenart=25
                            group by Variantennummer");                        
        
        
      
      
      
      
      
      
       $results=mssql_query("select * from BERECHNUNG
                            group by Variantennummer, SummeZug, SummeAbg");
                            
                            
                            
       while ($result=mssql_fetch_assoc($results))
              {
              echo '<br>';
              echo $result['SummeZug']-$result['SummeAbg']." ".$result['Variantennummer'];
              }                     
                              
                              
        
        
        
        
        
      $results=mssql_query("select * from BERECHNUNG
                            group by Variantennummer, SummeZug, SummeAbg");
       
       
      
                                              
                            
         while ($result=mssql_fetch_assoc($results))
        
              {    
              
       if( $result['SummeAbg']==NULL) {
        echo '<br>'; 
        echo "Variante A";     
        echo $result['Variantennummer']." ".$result['SummeZug'];
        echo '<br>';
        
              }                      
             
        
         if( $result['SummeAbg']<>NULL) {
                                              
                            
         
           echo '<br>';
           echo "Variante B";
           echo $result['Variantennummer']." ";
           echo $result['SummeZug']-$result['SummeAbg'];
              }
               }
 
Hab die berechungungen in 2 verschiedene Tabellen gesetzt

und mit ner left join beziehung zusammengeführt.

gibt bestimmt ne elegantere Lösung - doch die tuts auch
 
hikeda_ya hat gesagt.:
Hab die berechungungen in 2 verschiedene Tabellen gesetzt

und mit ner left join beziehung zusammengeführt.

gibt bestimmt ne elegantere Lösung - doch die tuts auch
Hallo,
1. poste doch deine Lösung, vielleicht hilft sie ja jemand anders weiter,
2. wenn das Problem somit gelöst ist, dann markiere das Thema bitte dementsprechend.

mfg
forsterm
 
Zurück