Requête SQL pour un unique id

Bonjour,
J'ai crée une base de données où j'ai une table Utilisateur avec des 'idUtilsateur', une table Propriete avec des 'idPropriete' et une table Donnee qui associe un 'idUtilisateur' avec un 'idPropriete' plus une 'valeur'

J'aimerais effectuer une requête sql dans ma table Donnee pour récupérer les id des utilisateurs qui possède par exemple un idPropriete 4 avec la valeur "Gérard" et un idPropriete 5 avec la valeur "Tartiflette"

Globalement cela devrait se présenter comme sa :
SELECT idUtilisateur FROM Donnee WHERE idPropriete = 4 AND valeur = Gérard AND idPropriete = 5 AND valeur = Tartiflette


Voilà alors déjà je suis pas sur de moi pour les conditions et ensuite cette requête marchera même si les valeurs sont affecter a des idUtilisateur différents. Comment prendre en compte qu'il doit s'agir d'un même idUtilisateur ?

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. idPropriete = 4 AND ... AND idPropriete = 5 AND ...
    Sans en lire plus, on sait déjà que la requête ne donnera jamais de résultat !
    Bonne continuation.
    1. SELECT idUtilisateur
      FROM Donnee
      WHERE idPropriete IN (4, 5)
      AND (valeur = 'Gérard' OR valeur = 'Tartiflette')

      Voila les 2 solution, le IN ou le OR :)
      1. Tout d'abord merci beaucoup pour ta réponse, mais cela ne va pas vraiment car Tartiflette peut être associer à la propriété 4 OU 5 alors que je seulement les résultat qui on tartiflette avec l'id 5
        1. Siluni t'as donné les moyens d'arriver au résultat; tu aurais dû réfléchir quelque peu afin d'écrire tout simplement:
          (idPropriete = 4 AND valeur = Gérard) OR (idPropriete = 5 AND valeur = Tartiflette)
          Bonne réflexion.