• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Jemand eine Idee (SQL Abfrage)?

style-guide!

Lounge-Member
Ich habe eine Tabelle, und brauche das Ergbniss aus folgenden Abfragen am besten in einer zusammengefasst.

1. SELECT SUM(a*y) AS ausgabe, SUM(b*y) AS wert1 FROM tabelle WHERE userid='".$userid."' AND verkauf='0'

2. SELECT SUM(a*y) AS einnahme, SUM(b*y) AS wert2 FROM tabelle WHERE userid='".$userid."' AND verkauf='1'

3. SELECT SUM(c+d) AS gebuehr FROM tabelle WHERE userid = '".$userid."'

Aus diesen dreien brauche ich dann einnahme-ausgabe-gebuehr sortiert nach dem höchsten Wert, nur wie?
 
style-guide! schrieb:
Ich habe eine Tabelle, und brauche das Ergbniss aus folgenden Abfragen am besten in einer zusammengefasst.

1. SELECT SUM(a*y) AS ausgabe, SUM(b*y) AS wert1 FROM tabelle WHERE userid='".$userid."' AND verkauf='0'

2. SELECT SUM(a*y) AS einnahme, SUM(b*y) AS wert2 FROM tabelle WHERE userid='".$userid."' AND verkauf='1'

3. SELECT SUM(c+d) AS gebuehr FROM tabelle WHERE userid = '".$userid."'

Aus diesen dreien brauche ich dann einnahme-ausgabe-gebuehr sortiert nach dem höchsten Wert, nur wie?

Also:

mit where userid=".$userid." AND verkauf='0' OR verkauf = '1' kannste schon mal alle mit der Userid und Verkauf 0 oder 1 auswählen, sonst fällt mir nix mehr ein, bis auf das sortieren, unter PHP.net wird die funktion max() näher erläutert, dort findet man übrigens 99% aller PHP Befehle in einer deutschen Doku.

Gruß
Melzi
 
Ich brauche aber beide Summen getrennt voneinander :(, einmal mit verkauf=1 und einmal mit verkauf=0... kann das also nicht mit OR verknüpfen, dann werden diese Werte zusammengeworfen, was aber nicht das tatsächliche Ergebniss errechnen wird....
 
Leider verstehe ich nicht was Du mit sum(a*y) AS sum(b*a) (oä) machst, erstelle doch drei Abfragen, ist doch nicht soo schlimm, oder?!
 
wie wärs mit:
select SUM(a*y) AS ausgabe, SUM(b*y) AS wert, verkauf, SUM(c+d) AS gebuehr from tabelle where userid='".$userid."' group by verkauf;

Hier bekommst Du für jeden Wert, den verkauf annehmen kann (0 oder 1) eine Zeile geliefert, die die Felder ausgabe, wert, verkauf und gebuehr anhält. Die beiden Gebühren mußt Du dann lediglich noch von Hand aufsummieren, da es hier nicht möglich ist eine gemeinsame Summe zu bilden. (sollte bei zwei Werten nicht besonders schwer sein, da Du beide Datensätze eh lesen mußt!)

Hoffe das hilft!

ciao,

Albu
 
Zurück
Oben