Hallo Gemeinde,
ich versuche gerade einen einzelnen SQL Aufruf zu basteln, an dem aber meine Zählkenntnisse scheitern.
Folgendes Problem:
Ich habe so eine Art Einkaufslisten, unterteilt in 2 Tabellen. In der ersten Tabelle sind die ich sag mal Stammdaten (Namen, Tage, usw.) und in der zweiten Tabelle sind die Sachen, die eingekauft werden müssen aufgelistet.
Jetzt will ich abrufen wie viele Listen es pro Tag gibt, das war kein Problem. Jetzt will ich aber mit dem Aufruf auch, das er bei den Ergebnissen der ersten Tabelle (wieviel Listen gibt es?) nun in der zweiten die passenden Artikel raussucht mit Menge und Preis, damit ich den Gesamtpreis des Einkaufes an diesem Tag bekomme.
Das klappt prinzipiell auch, allerdings liefert mir jetzt mein COUNT(*) Wert ALLE Ergebnisse, also zählt auch jedes Ergebnis aus der zweiten Tabelle dazu, was natürlich dann nicht dem geforderten entspricht.
Das Problem ist, das ich nicht weiß, wie ich in SQL sage, das sich das count nur auf die Ergebnisse der ersten Tabelle beziehen soll.
Hier mein derzeitiger Aufruf:
PHP-Code:
$q_sql = "SELECT COUNT(*) AS ek, SUM(tab2.quantity * tab2.priceeach) AS summe";
$q_sql .= " FROM tab1, tab2 WHERE tab2.stockid=0 AND tab2.refid=tab1.id";
$q_sql .= " AND (tab1.capture>=".$daystart." AND tab1.capture<=".$dayend.");
Also irgendwie muss ich nun count an die Ergebnisse aus tab1 binden (wahrscheinlich irgendwie mit GROUP BY?), es wäre lieb wenn mir das jemand richtig nennen könnte, vielen lieben Dank.
Gruß
Doc