JOIN LEFT default zetten voor als geen waarde in 2de tabel?
carsten eng
04/12/2012 09:23:43LEFT JOIN article_type_index AS t ON t.article_id = c.id
Een beheerpagina in een CMS toont een lijst met articles, met een kolom met het artikel-type.
id title type
1 artikel1 tekst
2 artikel2 youtube
3 artikel3 afbeelding
Er is een aparte tabel voor de artikel-content (c) en het artikel-type (t).
Als in de tabel geen row is voor het type van het artikel, komt er niks voor terug:
4 artikel1 tekst
5 artikel2
6 artikel3 afbeelding
Ik wil in dat geval (5) dat er default 'text' wordt geretouneerd:
4 artikel1 tekst
5 artikel2 tekst
6 artikel3 afbeelding
Hoe de dafault te zetten bij een join left?
Een beheerpagina in een CMS toont een lijst met articles, met een kolom met het artikel-type.
id title type
1 artikel1 tekst
2 artikel2 youtube
3 artikel3 afbeelding
Er is een aparte tabel voor de artikel-content (c) en het artikel-type (t).
Als in de tabel geen row is voor het type van het artikel, komt er niks voor terug:
4 artikel1 tekst
5 artikel2
6 artikel3 afbeelding
Ik wil in dat geval (5) dat er default 'text' wordt geretouneerd:
4 artikel1 tekst
5 artikel2 tekst
6 artikel3 afbeelding
Hoe de dafault te zetten bij een join left?
PHP hulp
05/11/2024 11:52:11Jeroen Jansen
04/12/2012 09:56:19Dit kun je met de functie ISNULL doen (bij MySql is het trouwens IFNULL)
Code (php)
1
2
3
4
5
2
3
4
5
SELECT id,
title,
ISNULL(type, 'tekst') AS type
FROM article
LEFT JOIN article_type_index ON article_id = id
title,
ISNULL(type, 'tekst') AS type
FROM article
LEFT JOIN article_type_index ON article_id = id
Gewijzigd op 04/12/2012 09:58:37 door Jeroen Jansen