login  Naam:   Wachtwoord: 
Registreer je!
 Forum

left join lukt niet (Opgelost)

Offline keesgerbers - 05/09/2011 15:15
Avatar van keesgerbersLid Ik heb een website waar voetbalwedstrijden op komen te staan,

ik heb een wedstrijd tabel met daarin 2 team id's (id_tm1 en id_tm2) deze teams spelen dan tegen elkaar.

  1. CREATE TABLE IF NOT EXISTS `wedstrijden` (
  2. `id` int(3) NOT NULL AUTO_INCREMENT,
  3. `id_tm1` int(2) NOT NULL,
  4. `id_tm2` int(2) NOT NULL,
  5. `sub_tm` int(2) NOT NULL,
  6. `datum` varchar(10) NOT NULL,
  7. `tijd` varchar(5) NOT NULL,
  8. `sc_tm1` int(2) DEFAULT NULL,
  9. `sc_tm2` int(2) DEFAULT NULL,
  10. `wedstrijdbal` varchar(15) DEFAULT NULL,
  11. `afgelast` int(1) NOT NULL DEFAULT '0',
  12. PRIMARY KEY (`id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;



deze moet ik dan ook koppelen aan een tabel teams waar alle teams in staan onder een uniek id, inclusief de thuis club.

  1. CREATE TABLE IF NOT EXISTS `teams` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `naam` varchar(18) NOT NULL,
  4. `plaats` varchar(15) NOT NULL DEFAULT 'Niet opgegeven',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;


nu had ik zelf de volgende query in elkaar gezet:
  1. SELECT *
  2. FROM `wedstrijden`
  3. INNER JOIN `teams`
  4. ON wedstrijd.id_tm1=team.id


maar deze werkte niet, daarna wist iemand mij te vertellen dat dit heel anders moest en gaf mij een query waar ik al helemaal geen wijs uit kom:

  1. SELECT wedstrijden.id_tm1, wedstrijden.id_tm2, te.name AS team1_name, b.name AS team2_name FROM wedstrijden AS w LEFT OUTER JOIN teams AS a ON w.tm_id1 = a.id LEFT OUTER JOIN teams AS b ON w.™_id2 = b.id


kan iemand mij uitleggen hoe ik deze laatste query kan aanpassen en of hij uberhaupt gaat werken?

want ik heb via w3schools geprobeert de query te veranderen maar kom er nog niet uit.
de bedoeling is dus om
wedstrijd.id_tm1 aan een team.id te koppelen maar ook wedstrijd.id_tm2 aan een ander team.id uit dezelfde tabel

4 antwoorden

Gesponsorde links
Offline Martijn - 05/09/2011 16:08
Avatar van Martijn Crew PHP Waarschijnlijk makkelijker om eerst alleen je wedstrijden te selecteren en in die while de teams erbij. Lichtere queries, en naar mijn mening wordt het dan makkelijker te onderhouden dan een lastige query die weinig over laat voor de toekomst
Offline keesgerbers - 05/09/2011 21:08
Avatar van keesgerbers Lid Ja daar heb je gelijk in, maar woensdag begin ik aan een gevorderde cursus voor sql en ik wilde gelijk de joints oefenen, maar ik heb het nu met de while opgelost maar woensdag vraag ik dan aan de leraar hoe het via sql had gemoeten.

Toch bedankt voor de hulp

Gr kees
Offline Martijn - 06/09/2011 11:07
Avatar van Martijn Crew PHP Moeilijkere queries is niet altijd de oplossing ;) in dit geval zou het precies doen wat je wilt, maar dan kun je in de toekomst lastig aanpassen, dus dan is het beter om het niet te doen.

Plus als je goed oplet wat je doet kan het ook nog wel merkbaar lichter zijn (uitgaand van dat je veel data hebt)
Bedankt door: keesgerbers
Offline keesgerbers - 06/09/2011 14:13
Avatar van keesgerbers Lid oke dan doe ik dat en sluit ik deze post
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.17s