Requête SQL pour un unique id

Pommesky -  
loupius Messages postés 789 Statut Membre -
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

loupius Messages postés 789 Statut Membre 148
 
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.
0
Pommesky
 
Oui je m'en doutait donc du coup globalement comment on fait ?
0
Siluni
 
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 :)
0
Pommesky
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loupius Messages postés 789 Statut Membre 148
 
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.
0