Liamderprogger
Erfahrenes Mitglied
Hi,
ich bekomme eine falsch Berechnung undzwar rechnet er das eigentliche Ergebnis mal die Anzahl der ID's. Wie muss ichs anders machen, ich komme da nicht weiter.
Muss ich da auch wirklich noch GROUP BY dazu nehmen?
In diesem Beispiel bekomme ich A nicht als 5 sondern als 10 weil die ID 2 Mal da ist, das muss gehoben werden.
Wenn ich in table2 die ID 1 3 Mal hätte bekäme ich 15 ich möchte aber nur 5.
table1
table2
ich bekomme eine falsch Berechnung undzwar rechnet er das eigentliche Ergebnis mal die Anzahl der ID's. Wie muss ichs anders machen, ich komme da nicht weiter.
Muss ich da auch wirklich noch GROUP BY dazu nehmen?
In diesem Beispiel bekomme ich A nicht als 5 sondern als 10 weil die ID 2 Mal da ist, das muss gehoben werden.
Wenn ich in table2 die ID 1 3 Mal hätte bekäme ich 15 ich möchte aber nur 5.
PHP:
$_GET['A'] // = Zahl die einem A-Wert entspricht(geposted)
$sql = "SELECT
SUM(table1.1) as all_1,
SUM(table1.2) as all_2,
SUM(table1.3) as all_3,
(SUM(table1.1) + SUM(table1.2) + SUM(table1.3)) AS sum
FROM
table1,
table2,
WHERE
table1.UserID = table2.UserID AND
table2.A = ".$_GET['A']."
GROUP BY
A;";
$result = mysql_query($sql) OR die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo " <tr>\n";
echo " <td ID=\"ueber\"><span ID=\"ueber_head\">insgesammt</span></td>\n";
echo " <td ID=\"ueber\">".null($row['all_1'])."</td>\n";
echo " <td ID=\"ueber\">".null($row['all_2'])."</td>\n";
echo " <td ID=\"ueber\">".null($row['all_3'])."</td>\n";
echo " <td ID=\"ueber\">".null($row['sum'])."</td>\n";
echo " </tr>\n";
}
table1
Code:
UserID 1 2 3
1 50 25 5
2 60 30 15
5 51 39 66
7 62 85 16
table2
Code:
ID UserID A B C D
1 1 5 30 60 90
1 1 5 20 10 90
2 2 5 80 80 80
3 5 7 70 70 70
4 7 6 60 60 60