Hoe kan ik met SQL een kolom uit een referentie tabel halen?

Het is alweer te lang geleden.

Ik heb een hoofdtabel "items" met de velden: Id, naam, inhoud.
Er is een referentietabel "Labels" met de velden Id, labeltekst
Er is een koppeltabel "ItemLabel" met de velden Id, ItemID, LabelID.

Nu wil ik een select maken waarbij er een uitdraai is van de hoofdtabel "items" met de kolomen Id, naam, inhoud, label

Een gewone sql query is dan SELECT Id, naam, inhoud FROM Items
Hoe ziet de query eruit waarbij de labeltekst wordt opgezocht voor die rij uit de koppeltabel en de referentietabel?

Toegevoegd na 10 minuten:
OK ik heb nu dit...

SELECT items.id, labels.text, items.title, items.text
FROM items
INNER JOIN ItemLabel
ON items.id=ItemLabel.Item
INNER JOIN Labels
ON ItemLabel.Label=Labels.ID

Maar dit geeft alleen nog maar de items die ook een label hebben. Terwijl er ook items zijn ZONDER labels. De query moet alle items zijn (met en zonder label).

Toegevoegd na 12 minuten:
Laat maar, ik ben eruit (dank zij w3schools). Het is zo lang geleden...

SELECT items.id, labels.text, items.title, items.text
FROM items
LEFT JOIN ItemLabel
ON items.id=ItemLabel.Item
LEFT JOIN Labels
ON ItemLabel.Label=Labels.ID

Weet jij het antwoord?

/2500

Het beste antwoord

Probeer i.p.v. INNER JOIN ItemLabel eens LEFT OUTER JOIN ItemLabel

Select * from table1 inner join table2 on table1.referentie = table2.referentie.

SELECT i.Id, i.naam, i.inhoud, l.labeltekst, p.ItemID, p.LabelID FROM i as items, l as labels, p as ItemLabel WHERE ItemID = LabelID Je maakt alleen de fout dat je een koppeltabel aanmaakt. Dat hoort normaal niet. Je hebt een id, das het unieke nummer voor het record, en daarnaast heb je dan een referentie id dat in zowel Items als Labels staat. Bijv. een artikelnummer. Dan krijg je dus je tabellen: Items: id, referentie, naam, inhoud Labels: id, referentie, labeltekst En je query: SELECT i.id, i.naam, i.inhoud, l.id, l.referentie, l.labeltekst FROM i as items, l as labels WHERE i.referentie = l.referentie Succes ;)

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100