Bonjour, et désolé de ce titre imprécis mais je ne sais pas comment mieux définir le problème en quelques mots (=> recherche infructueuse).
J'ai une simple table 'membres' (n°, nom, email...), et une table 'contrats' reprenant leurs infos de contrat comme :
Table 'contrats' :
- membre_no
- poste (par ex. : 'commandant', ou 'mécanicien',...un 15aine en tout)
- navigation (par ex. : 'long-cours', 'cabotage'...)
- type (CDD, CDI, XXX,... 5 ou 6)
- ... en tout une vingtaine de catégories contenant chacune un certain nombre de possibilités, (toutes exclusives les unes des autres).
Je veux proposer d'envoyer à ces membres des offres, pubs, sondages, en me basant sur ces infos de la table 'contrats'.
Par exemple, tous les membres avec les infos contrats suivantes :
- poste = 'commandant'
- navigation = *
- type = 'CDI' OU 'CDD'
etc..
Avant d'envoyer l'offre, je veux savoir combien j'ai de destinataires en fonction de ma sélection;
De plus, chaque membre doit savoir combien d'offres sont disponibles pour lui.
Je pensais donc créer une table 'offres' sur ce modèle :
N° (autoincrement)
type d'offre (1 code genre : PUB)
et pour chaque catégorie, un champ texte assez long pour recevoir toute les options retenues séparées par une virgule :
poste (ex. : 'CDT' pour commandant)
navigation (ex. : *)
type (ex. : 'CDI, CDD')
Et utiliser ces requêtes pour mes deux besoins :
Connaître le nombre d'offres de type PUB pour 1 membre :
SELECT COUNT(N°) FROM offres WHERE type='PUB' AND poste LIKE ('CDT') AND type LIKE ('CDI','CDD')...
Connaître le nombre de membres ciblés par une offre :
SELECT * FROM membres m JOIN contrats c ON n°=membre_no WHERE contrats.poste='CDT' AND contrats.contrat='CDI' OR contrats.type='CDD'...
Question : Quel est votre avis : est-ce que ça tient debout et auriez-vous une autre organisation plus pertinente en tête ?
J'espère avoir été suffisamment clair. Merci de m'avoir lu et plus encore de répondre.
Px
Partager