Werte addieren aber mit Bedingungen

quidnovi

Erfahrenes Mitglied
Hi @ all,

folgende Aufgabenstellung:

Habe 2 Tabellen die ich miteinander verknüpft abfragen muss (das funktioniert auch).
Von einer Tabelle habe ich einen Screenshot der DB angehängt.

Nun möchte ich folgendes ausgeben:

Arbeiter 100; 1.1.07; Gesamtstunden: 6,50h
Arbeiter 133; 1.1.07; Gesamtstunden: 2,50h

Also versuche ich nun die Stunden der jeweiligen Mitarbeiter pro Tag zu addieren.

Mit folgendem Code kann ich wohl die Gesamtstunden zusammenzählen, weiß aber nicht wie ich das auf den jeweiligen Mitarbeiter und Tag verknüpfen kann:
PHP:
// Tabelle hGesamt zusammenzählen
	$sum = "SELECT SUM(hGesamt) FROM r_abrechnung join r_userlogin_t_users ".
	       "where r_abrechnung.persnr = r_userlogin_t_users.persnr ".
		   "GROUP by 'nachname' asc, 'datum' desc";
	
	// Speichern der Gesamtstunden 
	$res = mysql_query ($sum) or die (mysql_errno() . ": Keine Verbindung zu \"r_abrechnung\"! " . mysql_error());
	echo mysql_result($res,0);


Habe schon erfolglos gegoogelt und in mehreren Foren gestöbert (vielleicht bin ich auch schon den Überblick verloren).

Bitte weist mir einen Weg, damit ich eine Lösung finde.

Danke im Voraus
 

Anhänge

  • dbAbbild.jpg
    dbAbbild.jpg
    21,8 KB · Aufrufe: 22
Zuletzt bearbeitet:
Hallo Ihrs

bin nun schon ein wenig weiter. Sortiere nun nach Datum und Name. Dann addiere ich die Einträge und die Gesamtstunden.

Abfrage schaut wie folgt aus:
PHP:
$sql = "SELECT *,datum,COUNT(nachname)AS countEintr,SUM(hGesamt) AS gesamt FROM r_abrechnung join r_userlogin_t_users ".
	       "where r_abrechnung.persnr = r_userlogin_t_users.persnr ".
		   "GROUP BY 'nachname' ORDER BY 'datum'";

Bekomme nun folgende Ausgabe:
Name | Datum | Einträge | Gesamtstunden

Der Nachteil: Die Einträge und Stunden werden alle - nach Name - zusammengezählt. Sprich, wenn Mitarbeiter A Einträge am 7.3.2007 und am 6.3.2007 hat, so erhalte ich die Addition beider Tage. Logisch, die Abfrage lautet ja so.

Wie stelle ich nun die Abfrage um, dass das oben erwähnte Beispiel die Einträge beider Tage gesondert ausgibt? Also Mitarbeiter A hat am 6.3.2007 x Einträge und am 7.3.2006 x Einträge.

Helft mir bitte, ich habe weder in Foren noch im Internetz etwas brauchbares gefunden.
Danke
Solong
 
Zuletzt bearbeitet:
Zurück