Ich habe dieses sql:Gesamtanzahl der Spalten in mySQL!
SELECT * , (
xnum * xprice
) AS amount, SUM(xnum * xprice) AS total
FROM xxbasket
LEFT JOIN xxsubproduct
USING (xsubproduct_id)
LEFT JOIN xxcolor
USING (xcolor_id)
WHERE xuserid = '3'
wenn ich SUM (xNum * xPreis) als Gesamt es gibt mir nur eine Zeile, aber wenn ich diese Summe entfernen (xNum * xPreis) ist es gib mir alle Zeilen
Meine Frage ist, wie kann ich Summe bekommen? während ich alle Zeilen aus der Abfrage brauche?
Es ist nicht vollkommen klar, da es scheint, als ob Sie versuchen, zwei Dinge mit einer Abfrage zu tun. Entweder bremse es in zwei Abfragen oder schreibe zwei Unterabfragen und mache dann einen JOIN. – mfloryan
@mfx Ich weiß nicht, wie man Unterabfragen erstellen kann, bitte erklären Sie, wie Sie Unterabfragen erstellen und sie zusammenfügen?! – mehdi
ok, ich brechen in zwei Unterabfragen wie diese SELECT *, ( xNum * xPreis ) AS Menge, xxcolor.xcode AS Farbe, xxsubproduct.xcode AS Produktcode ( SELECT SUM (xNum * xPreis) VON xxbasket WHERE xuserid = '3' ) AS Gesamt VON xxbasket LEFT JOIN xxsubproduct weiter verwenden (xsubproduct_id) LEFT JOIN xxcolor weiter verwenden (xcolor_id) WHERE xuserid = '3' es jetzt funktioniert, aber Zahlen sind irrelevant! – mehdi