Steusi
Nasenbär
Hallo Leute,
ich scheitere an einer bestimmten SQL Abfrage.
Ich habe 2 Tabellen, die wie folgt aussehen:
Tab1:
Tab2:
In Abhängigkeit von der Artikelnummer möchte ich alle Kosten aufsummieren und der Kostenstelle zuordnen, damit es dann folgendermaßen aussieht:
Das Ganze versuche ich mit folgendem PHP-Script (auf das wesentliche gekürzt und verdeutscht) zu realisieren:
Gibt es keine scharmantere Lösung, als 2 Datenbankanfragen. Momentan wird für jedes Select ein weiteres Select ausgeführt, was natürlich ganz schon Zeitaufwendig ist.
ich scheitere an einer bestimmten SQL Abfrage.
Ich habe 2 Tabellen, die wie folgt aussehen:
Tab1:
Code:
| Artikelnummer | Kostenstelle
| 001 | 5
| 002 | 5
| 003 | 6
Tab2:
Code:
| Artikelnummer | Kosten
| 001 | 2,5
| 001 | 0,15
| 002 | 2,5
| 002 | 0,15
| 002 | 3,08
| 003 | 2,5
| 003 | 0,15
In Abhängigkeit von der Artikelnummer möchte ich alle Kosten aufsummieren und der Kostenstelle zuordnen, damit es dann folgendermaßen aussieht:
Code:
| Kostenstelle | Kosten
| 5 | 8,38
| 6 | 2,65
Das Ganze versuche ich mit folgendem PHP-Script (auf das wesentliche gekürzt und verdeutscht) zu realisieren:
PHP:
$select_all = mysql_query("SELECT Artikelnummer,Kostenstelle FROM Tab1 ORDER BY Kostenstelle");
$i = 0;
$all_cost_unit = array();
while($export = mysql_fetch_object($select_all)){
$sum_qry = mysql_query("SELECT SUM(Kosten) as summe
FROM Tab2
WHERE Artikelnummer
LIKE '$export->Artikelnummer'");
$sum = mysql_fetch_object($sum_qry);
// Speichert alle unterschiedlichen Kostenstellen
$arr_id = $export->Kostenstelle;
if(!in_array($arr_id, $all_cost_unit)){
$all_cost_unit[$i] = $arr_id;
$cost_sum[$i] = 0;
$i++;
}
// Summe errechnen, je Kostenstelle errechnen
$cost_sum[$i-1] += $sum->summe;
}
Gibt es keine scharmantere Lösung, als 2 Datenbankanfragen. Momentan wird für jedes Select ein weiteres Select ausgeführt, was natürlich ganz schon Zeitaufwendig ist.