login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere joins uit 1 tabel?

Offline ikkedikke - 23/07/2006 17:19
Avatar van ikkedikkePHP expert ik ben laatst begonnen met joins, maar nu wil ik 2 joins uit 1 tabel doen en dan begint die te bokken:
SELECT `wedstrijden`.*,
`hallen`.`triviaal`,
`teams`.`triviaal`
FROM `wedstrijden`
LEFT JOIN `hallen` ON (wedstrijden.plaats = hallen.id)
LEFT JOIN `teams` ON (wedstrijden.thuisteam = teams.id)
LEFT JOIN `teams` ON (wedstrijden.uitteam = teams.id) WHERE wedstrijden.plaats = 1
met de error:
#1066 - Niet unieke waarde tabel/alias: 'teams'
Ik denk dat het idee wel duidelijk is: Ik wil de triviale naam van het thuis en het uitteam weten, naast de gegevens van de wedstrijd.

7 antwoorden

Gesponsorde links
Offline Simon - 23/07/2006 17:25 (laatste wijziging 23/07/2006 17:30)
Avatar van Simon PHP expert in jouw code staat in feite dat het thuisteam gelijk is aan het uitteam, maar dat kan toch niet ?

@edit: blind ofzo 
  1. (wedstrijden.thuisteam = teams.id)
  2. (wedstrijden.uitteam = teams.id)

hmmz, begrijp je het nu?
Offline ikkedikke - 23/07/2006 17:28
Avatar van ikkedikke PHP expert hoe kom je daar bij?
ik heb een tabel wedstrijden:
id,thuisteam,uitteam,plaats,...,...
alle 4 getallen waarvan de laatste 3 overeen komen met de id's van de 2 teams en de sporthal.
dat laatste deel met de where is gewoon om alleen van die zaal de wedstrijden te krijgen
Offline Ultimatum - 23/07/2006 17:28
Avatar van Ultimatum PHP expert lukt het zo dan

  1. SELECT `wedstrijden`.*,
  2. `hallen`.`triviaal`,
  3. `teams`.`triviaal`
  4. FROM `wedstrijden`
  5. LEFT JOIN `hallen` ON (wedstrijden.plaats = hallen.id)
  6. LEFT JOIN `teams` ON (wedstrijden.thuisteam = teams.id && wedstrijden.uitteam = teams.id) WHERE wedstrijden.plaats = 1


en dan moet je nog ff letten op dat uit en thuis geljik is aan id wat simon dus zegt 
Offline Simon - 23/07/2006 17:34 (laatste wijziging 23/07/2006 17:34)
Avatar van Simon PHP expert trouwens ultimatum, SQL gebruikt AND en geen && 
maar ik vraag me af of het zal werken
zie ook mijn vorige post ikkedikke
Offline ikkedikke - 23/07/2006 17:35
Avatar van ikkedikke PHP expert met && krijg ik geen rijen uit de tabel teams terug, dat is opzich logisch want hier staat eigenlijk dat thuisteam gelijk moet zijn aan uitteam.
ik heb het met || geprobeerd, maar nu krijg ik 2 keer dezelfde wedstrijd(als 2 losse rijen) met de eerste keer het thuis team en de 2e keer het uitteam.
dit moet dus eigenlijk in 1 rij.
Offline Ultimatum - 23/07/2006 17:37 (laatste wijziging 23/07/2006 17:38)
Avatar van Ultimatum PHP expert @simon, ik haal zelf ook uit meerdere tabellen alleen dan SELECT FROM table1, table 2 WHERE veld 1 = veld 2 && veld 1 = url

en dat werkt gewoon dus waarom hier niet 

Edit: simon lees dit 
http://www.site...p;id=226#1
Offline ikkedikke - 23/07/2006 17:41
Avatar van ikkedikke PHP expert oplossing:
  1. 'SELECT `wedstrijden`.*,
  2. `hallen`.`triviaal`,
  3. `thuis`.`triviaal`,
  4. `uit`.`triviaal`
  5. FROM `wedstrijden`
  6. LEFT JOIN `hallen` ON (wedstrijden.plaats = hallen.id)
  7. LEFT JOIN `teams` as thuis ON (wedstrijden.thuisteam = thuis.id)
  8. LEFT JOIN `teams` as uit ON (wedstrijden.uitteam = uit.id)
  9. WHERE ';
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.206s