0
votes

Résultat de la requête de filtre par plusieurs entrées

J'ai un accès dB avec une table de table1 qui contient les informations suivantes: xxx

chaque adresse_id appartient à un client dédié (spécifié de manière unique).

J'ai besoin Pour créer une requête SQL qui ne renvoie que ces lignes de la table pour lesquelles l'adresse_id a exactement une entrée dédiée, par exemple Si mes critères de filtrage sont "Retour catégorie_id = 41", le résultat attendu est le suivant: xxx

ou s'il est "Retour catégorie_id = 66", le résultat est une table vide.

Comment puis-je implémenter une requête sans effectuer de post-traitement par script?


0 commentaires

4 Réponses :


0
votes

Utilisation de Nombre () et ayant : xxx


0 commentaires

0
votes

J'utiliserais n'existe pas : xxx


0 commentaires

0
votes

Cette requête: xxx

retourne:

Seulement ces rangées de la table pour lesquelles l'adresse_id a exactement un Entrée dédiée

Vous pouvez maintenant appliquer n'importe quel filtre et obtenir les résultats souhaités: xxx


0 commentaires

1
votes

J'utiliserais groupe par code> et ayant code>: xxx pré>

vous pouvez ajouter 41 comme catégorie_id code> à Le Sélectionnez code> si vous le souhaitez, mais vous le savez déjà. p>

S'il n'y a pas de paires en double dans la table, vous pouvez également en formuler: P>

select address_id
from table1
group by address_id
having count(*) = 1 and
       min(category_id) = 41;


1 commentaires

Fonctionne parfaitement. Merci