DISTINCT lukt niet echt voor mijn probleem...

Status
Niet open voor verdere reacties.

quadran

Gebruiker
Lid geworden
26 jul 2006
Berichten
162
ik heb een table speeldagen met onderstaande velden

datum, uur, speeldag, wedstrijd, thuis, bezoekers, id

omdat er meerdere wedstrijden zijn per speeldag zou ik graag
Query1:
het hoogste wedstrijd nummer bekomen van alle records waarbij id <> 0

Query2
het laagste wedstrijd nummer bekomen van alle records waarbij id = <> 0

zowel Query1 en 2 moeten dan alle kolommen datum, uur, speeldag, thuis, bezoekers tonen die bij bovenstaand wedstrijd nummer horen

ik heb al uitvoerig getest met JOINS, DISTINCT, MAX EXPRESSIONS en GROUP BY maar geraak er niet echt uit :eek:

Met dank,
 
Query 1:
Select datum, uur, speeldag, thuis, bezoekers FROM `speeldagen` WHERE id <> 0 ORDER BY wedstrijd DESC LIMIT 1
Query 2:
Select datum, uur, speeldag, thuis, bezoekers FROM `speeldagen` WHERE id <> 0 ORDER BY wedstrijd ASC LIMIT 1

Zoiets?

Tijs.
 
Laatst bewerkt:
bedankt maar nog niet helemaal.

dit geeft enkel 1 speeldag weer met de hoogste/laagste wedstrijd.

ik zou graag voor elke speeldag waarvan id <> 0 de hoogste in query1 en de laagste
van elke speeldag waarvan id <> 0 in query2 hebben.
 
Misschien kan ik er later nog naar kijken, maar een directe oplossing voor je extra vereisten heb ik zo snel niet (ik ben geen SQL-deskundige).

Hopelijk reageert er nog iemand binnen redelijke termijn.

Tijs.
 
ik hoop dat dit duidelijker is dan mijn uitleg:

de eerste tabel is een select *

de tweede zou dus de kleinste wedstrijd eruit moeten halen

de derde de grootste wedstrijd...:rolleyes:

attachment.php
 

Bijlagen

  • b1.JPG
    b1.JPG
    59,7 KB · Weergaven: 83
Hier een lelijke, maar volgens mij wel werkende oplossing. Hij is lelijk omdat je in de query wedstrijd speeldag moet concateneren.

[SQL]Select *
From TABEL
Where wedstrijd && speeldag in
(
Select hoogste_wedstr && speeldag
from
(select max(wedstrijd) hoogste_wedstr, speeldag from tabel
group by speeldag)
)[/SQL]

PS Waar && staat moet je dus concateneren. Ik vermoed dat dat in MySQL met pipe-bars gaat, zoals in Oracle, maar zeker weten doe ik dat niet en ik kon zo snel geen pipe-bar vinden op dit pruttoetsenbord.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan