max-abfrage von 2 spalten... wie?

scare05

Grünschnabel
mysql: max-abfrage von 2 spalten... wie?

hallo zusammen,

hab da ein kl. problemchen, wo ich einfach net weiterkomm.
vielleicht kann mir jemand helfen.
es geht um folgendes...

ich habe eine tabelle mit 4 spalten

teamA - punkteA - teamB - punkteB

mit folgenden einträgen

name1 - 12 - name2 - 56
name3 - 47 - name4 - 29
name5 - 21 - name6 - 68
name7 - 75 - name8 - 45

so nun möchte ich gern ein abfrage machen, wo er mir dann die begegnungen ausgeben soll, wo welches team die meisten punkte gemacht hat. also in dem beispiel dann...

1. name7-name8 (75:45)
2. name5-name6 (21:68)
3. name1-name2 (12:56)
4. name3-name4 (47:29)

für eine spalte (z.b. teamA/punkteA) ist das ja kein thema, aber dann noch die andere spalte (teamB/punkteB) mit in die abfrage unterzubringen und die beiden dann noch nach den maximalsten punkten ausgeben zu lesen, krieg ich einfach nicht hin.

also wenn mir einer da helfen könnte? danke im voraus
 
Zuletzt bearbeitet:
Also willst du alle Datensätze nach Punkten geordnet ausgeben lassen?
Hätte aber nichts mit MAX() zu tun...
Was du suchst, ist also viel eher ein ORDER BY , das dir gleichzeitig nach 2 Spalten sortiert.
Richtig?
 
Versuch's mal mit folgender Abfrage:
Code:
SELECT
        `teamA`,
        `punkteA`,
        `teamB`,
        `punkteB`,
        `punkteA` + `punkteB` AS `punktegesamt`
  FROM
        `tabelle`
  ORDER BY
        `punktegesamt` DESC
 
Schöne Idee, Gumbo.
Dann kommt aber 65:85 vor 105:30 - und ich glaube, das sollte es nicht.
 
Ist zwar ziemlich komplex, aber so sollte es gehen: :-)´
PHP:
SELECT teamA, punkteA, teamB, punkteB FROM
((SELECT teamA, punkteA, teamB, punkteB punkteA AS vergleich FROM tabelle WHERE punkteA > punkteB)
UNION
(SELECT teamA, punkteA, teamB, punkteB, punkteB AS vergleich FROM tabelle WHERE punkteB > punkteA))
ORDER BY vergleich

*edit*: es gibt doch für alles eine Lösung... :-)
 
Zurück