Ik heb 4 tabellen:
Nu wil ik een overzicht maken van alle articles en comments. Elke content item (dus: elke article en comment) heeft een verwijzing in de nodes tabel:
Deze query doet het in principe wel, alleen retourneert hij 2 "body" kolommen:
Met andere woorden: er wordt een body kolom aangemaakt voor de types article en comment. Hoe kan ik ervoor zorgen dat er in de resultset slechts 1 body kolom staat, met andere woorden:
Ik probeerde onderstaande al, maar dit leidde tot hetzelfde resultaat:
code:
1
2
3
4
5
6
| nodes users articles comments ------- ----- -------- -------- nid uid nid nid type name body body title created |
Nu wil ik een overzicht maken van alle articles en comments. Elke content item (dus: elke article en comment) heeft een verwijzing in de nodes tabel:
SQL:
1
2
3
4
5
6
7
| SELECT n. * , a.body, c.body, u.name FROM nodes n LEFT JOIN articles a ON a.nid = n.nid LEFT JOIN comments c ON c.nid = n.nid LEFT JOIN users u ON u.uid = n.uid WHERE n.type IN ('article', 'comment') LIMIT 0 , 30 |
Deze query doet het in principe wel, alleen retourneert hij 2 "body" kolommen:
code:
1
2
3
4
| nid type title created uid body body name 1 article nieuw bericht 1167240437 2 blaat! NULL admin 2 article morgen ziek 1167242131 5 blaat! NULL erik 4 comment vrienden 1170100203 5 NULL Jij en ik erik |
Met andere woorden: er wordt een body kolom aangemaakt voor de types article en comment. Hoe kan ik ervoor zorgen dat er in de resultset slechts 1 body kolom staat, met andere woorden:
code:
1
2
3
4
| nid type title created uid body name 1 article nieuw bericht 1167240437 2 blaat! admin 2 article morgen ziek 1167242131 5 blaat! erik 4 comment vrienden 1170100203 5 Jij en ik erik |
Ik probeerde onderstaande al, maar dit leidde tot hetzelfde resultaat:
- WHERE type = 'article' OR type = 'comment' IPV IN ('article', 'comment')
- SELECT n. * , a.body AS body, c.body AS body
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."