Bonjour,
J'ai des posts qui appartiennent a des catégories et chaque user peut bien sur s'abonner ou se désabonner aux catégories. Cependant vu le nombre de catégories j'aimerai que l’abondement soit 'inversé' si on peut dire. Donc en somme la table subscription ne stock que les désabonnements et non les abonnements. Ainsi l'or de l'inscription on est d'office abonné à toutes les catégories. Et l'or de l'ajout d'une nouvelle catégorie on y est donc aussi abonné.

Des tables qui ressemble en gros a ce que j'ai :
La table post :
p_id
p_title
p_text
...]
p_category_id

La table categories :
c_id
c_name

La table subscription :
s_category_id
s_user_id

Voila a quoi à l'heure actuelle ma requête ressemble +/-

SELECT *
FROM subscription 
JOIN posts ON s_category_id = p_category_id
JOIN users ON p_user_id = id
JOIN categories ON p_category_id = c_id
WHERE s_user_id = ?

J'ai bien envie de mettre un WHERE s_user_id = ? && s_category_id != p_category_id , mais ça n'a pas l'air de fonctionner.

Merci à vous.

2 réponses


Grafikart
Réponse acceptée
SELECT *
FROM categories
JOIN subscription ON subscription.s_category_id = categories.c_id
WHERE subscription.s_category_id IS NULL

Je tenterais ça pour avoir la liste des catégories ou l'utilisateur est abonné

Hotgeart
Auteur

merci