Opslag i mange tabeller
Vi er nogle stykker der arbejder på et open source projekt (cms) og vi er kørt lidt fast i en SQL statement og mangler lidt hjælp.Hovedtabellen "kaboozu_pages" indeholder oplysninger om en side.
"kaboozu_categories" indeholder kategorier (fx mad, drikke), hvor hver har en id.
"kaboozu_page_tags" indeholder tags (fx fisk, æg, saftevand), hvor hver har en id.
"lookup" tabllerne indholder id'er fra kategorier og tags samt id på siden.
Hvordan får vi resultat der IKKE er tomt, selvom der fx ikke er en record i tags?
SELECT DISTINCT p.*, GROUP_CONCAT(DISTINCT lcp.id) categories, GROUP_CONCAT(DISTINCT lup.id) permissions, GROUP_CONCAT(DISTINCT ltp.id) tags
FROM kaboozu_pages p
INNER JOIN kaboozu_page_lookup_permission lp ON lp.pageid=p.id
INNER JOIN kaboozu_page_lookup_categories lc ON lc.pageid=p.id
INNER JOIN kaboozu_page_lookup_tags lt ON lt.pageid=p.id
INNER JOIN kaboozu_userpermissions lup ON lp.permissionid=lup.id
INNER JOIN kaboozu_categories lcp ON lc.categorieid=lcp.id
INNER JOIN kaboozu_page_tags ltp ON lt.tagid=ltp.id
WHERE p.id=11
GROUP BY p.menutitle