Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/09/2011, 17h57   #1
Invité régulier
 
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 6
Points : 6
Par défaut imbriquer 2 requetes ?

Je voudrais imbriquer 2 requêtes, c'est-à-dire utiliser le résultat d'un 1ère requête à l'intérieur d'une 2ème. Mais je ne sais pas si c'est possible.
J'ai essayé ceci qui ne fonctionne pas :

Code :
SELECT name FROM parent WHERE id = (SELECT parent_id FROM child WHERE name = toto)
(=récupérer le nom du parent du child qui a comme name toto)
eprevot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 19h37   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
si l'opérateur égal ne fonctionne pas utilise l'operateur IN.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 19h40   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
autre chose.
Code :
1
2
3
4
 
SELECT p.name 
FROM p.parent as p , child as c 
WHERE p.id = c.parent_id AND c.name = :toto
moins bien:
Code :
1
2
3
SELECT p.name 
FROM p.parent as p , child as c 
WHERE p.id = c.parent_id AND c.name = "toto"
edit: pour les puristes avec LEFT ou INNER celon comment on traite les parents qui n'ont pas d'enfants.
Code :
1
2
3
SELECT p.name 
FROM p.parent as p LEFT JOIN child as c ON p.id = c.parent_id
WHERE c.name = "toto"
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/09/2011, 10h28   #4
Invité régulier
 
Inscription : juillet 2011
Messages : 31
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 31
Points : 6
Points : 6
Le IN me donnait la meme erreur : Cardinality violation: 1241 Operand should contain 1 column(s)

Ceci ne marchait pas non plus:
Code :
1
2
3
SELECT (p.name, p.id) 
FROM parent as p , child as c 
WHERE p.id = c.parent_id AND c.name = :toto
Par contre ceci fonctionne !
Code :
1
2
3
SELECT p.name, p.id 
FROM parent as p , child as c 
WHERE p.id = c.parent_id AND c.name = :toto
On dirait qu'il n'aime pas les parenthèses.
Merci !
eprevot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h31.


 
 
 
 
Partenaires

Hébergement Web