A voir également:
- Problème requette mysql
- Mysql community server - Télécharger - Bases de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Mysql error 1 ✓ - Forum Réseaux sociaux
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Mysql fatal error ✓ - Forum MySQL
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
21 nov. 2011 à 10:43
21 nov. 2011 à 10:43
Bonjour,
Le problème, c'est que tu as oublié de dire que la table projets est reliée par son id à la table droits.
Ta requête devrait plutôt être :
SELECT droits.id_user, projets.nom_projet FROM 'droits', 'projets' WHERE droits.id_user=$id_user AND droits.id_projets = projets.id_projets
Ou, c'est la même chose mais plus explicite à mon sens :
SELECT droits.id_user, projets.nom_projet
FROM droits
INNER JOIN projets ON droits.id_projets = projets.id_projets
WHERE droits.id_user=$id_user
Xavier
Le problème, c'est que tu as oublié de dire que la table projets est reliée par son id à la table droits.
Ta requête devrait plutôt être :
SELECT droits.id_user, projets.nom_projet FROM 'droits', 'projets' WHERE droits.id_user=$id_user AND droits.id_projets = projets.id_projets
Ou, c'est la même chose mais plus explicite à mon sens :
SELECT droits.id_user, projets.nom_projet
FROM droits
INNER JOIN projets ON droits.id_projets = projets.id_projets
WHERE droits.id_user=$id_user
Xavier
Merci beaucoup Xavier, j'ai utilisé ta requête en fin de compte
mais j'aimerai comprendre le principe si possible?
Cordialement,
Anas
mais j'aimerai comprendre le principe si possible?
Cordialement,
Anas
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 nov. 2011 à 09:46
22 nov. 2011 à 09:46
Bonjour,
Quand tu fais une requête croisée sur deux tables, le plus souvent, il y a un identifiant d'une table référencé dans l'autre table.
Le moteur SQL ne connaît a priori pas cet identifiant. Donc si tu fais une requête sur la table droits et sur la table projets, il ne sait pas qu'à un droit correspond un projet. Il va donc donner tous les projets pour chaque droit.
Il est donc nécessaire de lui expliquer que la colonne id_projets sert à relier les droits à un projet, d'où la ligne droits.id_projets = projets.id_projets.
Je ne sais pas si j'ai été suffisamment clair...
Xavier
Quand tu fais une requête croisée sur deux tables, le plus souvent, il y a un identifiant d'une table référencé dans l'autre table.
Le moteur SQL ne connaît a priori pas cet identifiant. Donc si tu fais une requête sur la table droits et sur la table projets, il ne sait pas qu'à un droit correspond un projet. Il va donc donner tous les projets pour chaque droit.
Il est donc nécessaire de lui expliquer que la colonne id_projets sert à relier les droits à un projet, d'où la ligne droits.id_projets = projets.id_projets.
Je ne sais pas si j'ai été suffisamment clair...
Xavier