-
Jointure sur 2 tables
Bonjour,
J'ai une table 'abonne' qui comprend les champs suivants :
- id_categorie
- id_prestataire
- date_fin
J'ai une table 'categorie' qui comprend les champs suivants :
- id
- cat
Je veux affiché sous la forme de case à cocher l'id et la cat de la table de toutes les lignes de la table categorie sauf :
quand id de categorie = id de abonne si date_fin de abonne est superieur à aujourd'hui.
Je pense qu'il faut faire un systeme de jointure, mais sur ce sujet, meme aprèsa voir lu des tuto, je capte pas.
Une aide serait la bienvenue SVP.
-
Je n'ai pas bien compris ta condition mais je propose :
Code:
SELECT id, cat FROM categorie WHERE id NOT IN (SELECT DISTINCT id_categorie FROM abonne WHERE date_fin > CURDATE())
C'est à dire que j'elimine toutes les catégories dans lesquels il y a un abonné ayant une date_fin dans le futur.
-
Merci, mais j'ai ce message d'erreur :
#1064 - Erreur de syntaxe près de 'WHERE id NOT IN ( SELECT DISTINCT id_categorie FROM categorie WH' à la ligne 1
-
J'ai trouvé :
Code:
SELECT id, cat FROM categorie WHERE id NOT IN (SELECT DISTINCT id_categorie FROM abonne WHERE date_fin > CURDATE())
Il y avait une erreur sur un nom de table.
Merci pour ton aide