A voir également:
- Sélection de champs avec une liste de conditions
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste de diffusion whatsapp - Guide
- Liste code ascii - Guide
- Liste de numéro de téléphone suspect - Guide
3 réponses
bonjour je ne suis pas un pro mais je pense que ce que tu essaye de faire n'est pas possible si tu veux pouvoir faire une requête liant 2 table d'une base de donnée je dirais d'utiliser JOIN en msql il y a plusieurs façon de faire une jointure tu devrais y trouver ton bonheur
https://sql.sh/cours/jointures/inner-join
https://sql.sh/cours/jointures/inner-join
J'ai trouvé une solution. C'est de la bidouille mais elle fonctionne. Je crée une nouvelle contrainte d'identifiant idContrainte = 0 qui est associée par "requiert" à toutes les "annonce"s. La requête à faire est ensuite :
SELECT idAnnonce FROM annonce
INNER JOIN requiert ON requiert.idAnnonce = annonce.idAnnonce
WHERE idContrainte IN($listeContraintes)
GROUP BY annonce.idAnnonce
HAVING COUNT(idRequirement) = 1;
Le but étant de ne prendre que les annonces dont le nombre de contraintes non dans la liste est 1 (la contrainte qu'aucune ne respecte : la n°0).
SELECT idAnnonce FROM annonce
INNER JOIN requiert ON requiert.idAnnonce = annonce.idAnnonce
WHERE idContrainte IN($listeContraintes)
GROUP BY annonce.idAnnonce
HAVING COUNT(idRequirement) = 1;
Le but étant de ne prendre que les annonces dont le nombre de contraintes non dans la liste est 1 (la contrainte qu'aucune ne respecte : la n°0).
la table d'annonce stock l'annonce mais la contrainte stock l'id de l'annonce et les contrainte sélectionner par exemple tu auras 3 contrainte de possible au total et bien au départ dans la base de donnée sont mise a NULL et a la création si il a sélectionner des contrainte tu les passe a 1
ensuite avec ça tu pourras faire afficher l'annonce et la liste des contraire avec une requête