Il existe peu de tables pour stocker le contenu et les catégories. Le contenu et les catégories sont mappés dans de nombreuses relations.Requête Mysql Crostab
Une catégorie peut avoir plusieurs contenus.
Un contenu peut être inclus dans plusieurs catégories.
J'ai donc créé la table content_cat_xref pour mapper ces tables.
catégorie Table - id, nom, etc
tableau contenu - id, nom, type_code (read_it, play_it, prove_it, watch_it)
content_cat_xref - content_id, category_id, etc
Je voulais pour afficher les catégories avec les types de contenu et le nombre de contenus pour chaque type de contenu, comme suit.
Mais je me comme suit.
Ma requête est la suivante
select
ccx.category_id,
IF(count(c.id) > 0, "True", "False") as Sections_with_content,
(CASE WHEN (c.type_code = 'READ_IT') THEN count(c.id) ELSE 0 END) as "READ_IT",
(CASE WHEN (c.type_code = 'WATCH_IT') THEN count(c.id) ELSE 0 END) as "WATCH_IT",
(CASE WHEN (c.type_code = 'PLAY_IT') THEN count(c.id) ELSE 0 END) as "PLAY_IT",
(CASE WHEN (c.type_code = 'PROVE_IT') THEN count(c.id) ELSE 0 END) as "PROVE_IT",
count(c.id)
from content_cat_xref as ccx left outer join content as c
on ccx.content_id = c.id
group by ccx.category_id, c.type_code
Si quelqu'un a ce genre d'expérience sera utile pour moi de résoudre le problème.
Merci pour le commentaire. Ensuite, il affichera le nombre total sous le code de type incorrect. Pouvez-vous m'aider s'il vous plaît à récupérer le compte pertinent dans ce cas? – cha
Je suis désolé, mais je ne comprends pas votre question de suivi. – Shadow
Hmm, je pense que je l'ai eu, je vais mettre à jour ma réponse dans une minute. – Shadow