left joins eller andre joins
Hej eksperterJeg har to tabeller:
1) IMR_publikation
id (primærnøgle)
listepris
m.m.
2) IMR_pub_tilbudspris
pub_id (fremmednøgle)
tilbudspris
startdato
slutdato
Der er en nul-til-mange relation, således at en publikation kan have alt mellem 0 og mange tilbudspriser tilknyttet, mens en tilbudspris er knyttet udelukkende til én publikation.
Jeg vil gerne vise prisen, enten listenprisen eller en tilbudspris hvis den gælder på det tidspunkt, hvis brugeren er på sitet.
Jeg kan finde ud af at søge både pris og og tilbudspris på følgende måde:
SELECT p.id, p.listepris, tilbud.tilbudspris
FROM imr_publikation AS p
LEFT JOIN imr_pub_tilbudspris AS tilbud
ON p.id = tilbud.pub_id
SÅ får jeg vist alle publikationer og deres eventuelt tilknyttede tilbudspris (eller blot 'NULL' som tilbudspris)
Men jeg kan ikke finde ud af sætte en WHERE-betingelse ind, så je gkun får tilbudspriser, der er gældende lige nu. Fx fejler følgende:
SELECT p.id, p.listepris, tilbud.tilbudspris
FROM imr_publikation AS p
LEFT JOIN imr_pub_tilbudspris AS tilbud
ON p.id = tilbud.pub_id
WHERE tilbud.startdato <= now()
AND tilbud.slutdato <= now()
Dette viser mig kun publikationer, hvor der er nuværende tilbud, og ingen andre publikationer. Det jeg vil have er jo alle publikationer, men kun tilbudspris hvis den er gældende...
Hvem kan hjælpe?
:o) Lasse
