nu is het de bedoeling dat ik de velden `Naam` en `Overleden` van deze 4 tabellen gebruik en een overzicht krijg van alle personen die overleden zijn, ongecaht acteur, muzikant, regisseur of auteur (verhaal). het liefst ook gesorteerd op overlijdensdatum, dus laatste bovenaan
(ORDER BY Overleden DESC)
Ik heb zelf al zitten worstelen met allerlei queries maar kom er niet uit.
en het is de bedoeling dat ik uit die 4 tabellen acteurs, regisseur, muziek, verhaal
de overleden personen in 1 tabel krijg.
dus de overleden acteurs, regisseurs etc.
@klaasjan
je query komt aardig overeen maar mist nog 2 tabellen.
Ik kom tot de volgende (access-)query:
SELECT a.Naam, a.Overleden, r.Naam, r.Overleden, m.Naam, m.Overleden, v.Naam, v.Overleden
FROM Acteurs AS a, Regisseur AS r, Muziek AS m, Verhaal AS v
WHERE (((a.Overleden) Is Not Null) AND ((r.Overleden) Is Not Null) AND ((m.Overleden) Is Not Null) AND ((v.Overleden) Is Not Null))
ORDER BY a.Overleden, r.Overleden, m.Overleden, v.Overleden;
maar die is het nog niet helemaal...
het duurt nogal voor hij de query heeft uitgevoert.
SELECT
a.Naam,
a.Overleden,
r.Naam,
r.Overleden,
m.Naam,
m.Overleden,
v.Naam,
v.Overleden
FROM
acteurs AS a
regissuers AS r
muziek AS m
verhaal AS v
WHERE
a.overleden<>""
AND
r.overleden <>""
AND
m.overleden<>""
AND
v.overleden<>""
Ik ben me wat aan het verdiepen in SQL en of mijn db ook genormaliseerd is. En ik denk ook dat ik mijn voordeel er mee kan doen bij het schrijven van php-scripts.
Ik had dit topic ook gepost bij phpfreakz.nl en die vertelden mij dat ik beter de 4 tabellen kon verwijderen en dan het volgende doen:
Ja dit datamodel klopt van geen kanten. Je hebt allerlei velden dubbel in vier tabellen. Zoals het nu is, is je DB zeker niet genormaliseerd. Laat deze idiote query eens op je DB los? Misschien werkt hij wel
(SELECT Naam, Overleden
FROM acteurs)
UNION
(SELECT Naam, Overleden
FROM muziek)
UNION
(SELECT Naam, Overleden
FROM regisseur)
UNION
(SELECT Naam, Overleden
FROM verhaal)
[edit]
Mocht hij toevallig werken, dan raad ik je nog steeds een ander datamodel aan
[/edit]
Ik ga denk ik idd toch maar overstappen op een ander model, zoals ik hierboven al beschreef, met de 3 tabellen `personen`, `rol` en `persoon_rol_link`
ik zet dan alle acteurs, regisseurs, auteurs en muzikanten in de tabel `personen` en link dan in de tabel `persoon_rol_link` de personen of ze acteur, regisseur, auteur of muzikant zijn.
zal ik zelf nog ff moeten uitzoeken hoe ik de tabellen `personen` en `rol` link in de tabel `persoon_rol_link.`