Requête SQL pour un unique id - SQL/NoSQL - Programmation
Marsh Posté le 30-10-2010 à 20:06:20
Déjà, ça m'étonnerait forcément que cette requête retourne une ligne qui puisse vérifier idPropriete=4 AND idPropriete=5
Plutôt quelque chose dans ce genre :
SELECT idUtilisateur
FROM Donnee
WHERE (idPropriete = 4 AND valeur = Gérard) OR (idPropriete = 5 AND valeur = Tartiflette)
Marsh Posté le 30-10-2010 à 20:42:11
oui je me suis rendu compte de sa ^^
requête que vous proposé ne marche pas non plus, car je récolterais les id pour une OU l'autre des conditions et non pas les deux
Marsh Posté le 30-10-2010 à 22:41:44
Non, tu récupéres toute les lignes qui respectent au moins l'une des conditions
Marsh Posté le 02-11-2010 à 09:58:53
Si tu dois trouver les idUtilisateur qui ont a la fois idPropriete 4/Gerard et idPropriete 5/tartiflette tu vas devoir faire un join sur la table avec elle meme.
Un truc dans ce genre la:
Code :
|
Il y a probablement moyen de faire ca sans le Join, avec quelque chose comme ca (j'ai pas essayé donc c +- au pif ):
Code :
|
Ca ne marchera bien que si idPropriete + valeur = record unique.
Marsh Posté le 30-10-2010 à 10:24:45
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 ?