[SQL] Data ophalen met join werkt niet

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Goede middag

Tabellen:

[pakketten]
- naam
- prijs
- omschrijving

[subpakketten]
- naam
- pakketnaam
- omschrijving
- prijs

[pakketformaten]
- naam
- pakketnaam
- aantal
- prijs

Probleem
Nu wil ik door middel van een query alle pakketten, en indien aanwezig alle subpakketten en pakketformaten die bij dat pakket horen ophalen.

Dit heb ik geprobeerd door middel van een LEFT JOIN:
SQL:
1
2
3
4
SELECT p.naam p_naam, p.prijs p_prijs, p.omschrijving p_omschrijving, s.naam s_naam, s.omschrijving s_omschrijving, s.prijs s_prijs, pf.naam pf_naam, pf.aantal pf_aantal, pf.prijs pf_prijs
FROM pakketten p, subpakketten s, pakketformaten pf
LEFT JOIN s ON p.naam = s.pakketnaam
AND pf.pakketnaam = p.naam


Daarop kreeg ik de volgende foutmelding terug:
#1066 - Not unique table/alias: 's'

de "s" alias lijkt mij anders aardig uniek in deze query :?

Simpelere versie
SQL:
1
2
3
SELECT p.naam p_naam, p.prijs p_prijs, p.omschrijving p_omschrijving, s.naam s_naam, s.omschrijving s_omschrijving, s.prijs
FROM pakketten p
LEFT JOIN subpakketten s ON pakketten.naam = s.pakketnaam


Daarop kreeg ik de volgende foutmelding terug:
Unknown column 'pakketten.naam' in 'on clause'

pakketten.naam ook al vervangen door p.naam, maar daarop kreeg ik ook een unknown column foutmelding terug.

Kan iemand mij misschien vertellen wat ik fout doe? :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:55
Neem gewoon eens een SQL manual erbij, en bekijk de JOIN syntax eens. :)

Bij je eerste query neem je alle tabellen op in je FROM clause, en dan nog eens in je JOIN clause.
Niet goed dus.

Bij je 2de query moet je de alias gebruiken als je een alias hebt.

[ Voor 57% gewijzigd door whoami op 05-07-2006 12:50 ]

https://fgheysels.github.io/


Dit topic is gesloten.