login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Join sorteren werkt niet (Opgelost)

Offline thomasje - 10/08/2010 23:27
Avatar van thomasjeMySQL beginner Ik ben bezig met een MySQL join, maar wil daarin ook kunnen sorteren op een bepaalde inhoud van zaken. Nu werkt alles behalve dan dat hij alles door elkaar zet in plaats van te sorteren.

Wat doe ik fout? En hoe zou ik dat kunnen oplossen?

Mijn code:
  1. SELECT l.id AS lidID, l.adres, l.voornaam, l.tussenvoegsel, l.achternaam, a.naam AS adresNaam, a.nummer, a.postcodeA, a.postcodeB, a.plaats, p.id, p.naam AS plaatsNaam, l.reg_time, l.email, l.geboortedatum, l.telefoon, l.geslacht
  2. FROM leden l, adressen a, plaats p, groep_leden gp
  3. WHERE
  4. a.id = l.adres
  5. AND p.id = a.plaats
  6.  
  7. ".$QuerlieSelectie."
  8. ".$QuerlieUniekAdres."
  9.  
  10. ORDER BY l.achternaam ASC

3 antwoorden

Gesponsorde links
Offline MiST - 11/08/2010 00:00
Avatar van MiST Lid wat komen ".$QuerlieSelectie." en ".$QuerlieUniekAdres." daar plots tussen doen? Zijn dat nog extra WHERE statements, dan zou ik die toch anders invullen.

Verder is er niets mis met de query voor zover ik kan zien...
Offline thomasje - 11/08/2010 22:43 (laatste wijziging 12/08/2010 22:39)
Avatar van thomasje MySQL beginner Die ".$QuerlieSelectie." is een extra WHERE statement, bij ".$QuerlieUniekAdres." wordt eventueel een group by functie er bij gezet.

Dit komt omdat de gebruiker heel veel mogelijkheden heeft wat betreft de keuzes wat hij/zij wel of niet wil hebben en op welke manier dat moet gebeuren.

EDIT:
Ik heb hem nu iets aangepast maar ook zo werkt hij niet. Heeft echt niemand een oplossing? Wordt er ondertussen behoorlijk kippig van .

  1. SELECT l.id AS lidID, l.adres, l.voornaam, l.tussenvoegsel, l.achternaam, a.naam AS adresNaam, a.nummer, a.postcodeA, a.postcodeB, a.plaats, p.id, p.naam AS plaatsNaam, l.reg_time, l.email, l.geboortedatum, l.telefoon, l.geslacht, l.lid_code, l.bezorg_code, l.opmerking, l.voorletters
  2. FROM leden l, adressen a, plaats p, groep_leden gp
  3. WHERE
  4. a.id = l.adres
  5.  
  6. AND p.id = a.plaats
  7.  
  8. GROUP BY l.id
  9.  
  10. ORDER BY 'l.achternaam'
  11. LIMIT ".$start.",".$showRecords
Offline BigBug - 15/08/2010 08:10
Avatar van BigBug PHP expert Ik snap de bedoeling van je query niet helemaal. Wel kan ik even kort samenvatten hoe je het misschien beter kan aanpakken:

  1. SELECT l.adres, l.voornaam, a.naam, a.nummer FROM leden l JOIN plaats p ON l.voornaam = a.naam WHERE .. etc


Op deze manier kun je beter een JOIN-query opbouwen (als ik het goed heb, het is alweer een tijdje geleden dat ik ze gebruikt heb). Ook is sinds PHP 4.x.x. o.i.d. het mogelijk subqueries te gebruiken binnen je huidige query. Voor meer informatie kun je natuurlijk even googlen!

Succes ermee:)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s