double instruction select problème, plusieurs lignes sont retournées , sous-requête a renvoyé plus de 1 valeur
ok, ici ça va, j'ai 3 tables:
accounts ( account_id, employee_id, account_name )
projects ( project_id, project_name )
project_distribution ( distribution_id, employee_id, project_id )
Ce que je veux faire est de renvoyer le projet de noms à partir de la table de projet si j'ai l'id de projet de la project_distribution table.Ainsi , supposons que j'ai employee_id, je vais dans project_distribution et faites un select, je reçois 2 valeurs pour project_id ,id 1 et 2, comment puis-je retourner le project_names pour ces deux IDs sans faire 2 requêtes sur ou statemens ou comment sont-ils correctement appelé, ici, c'est mon mauvais instruction select.
SELECT project_name
FROM projects
WHERE project_id = ( SELECT project_id
FROM project_distribution
WHERE employee_id = ( SELECT employee_id
FROM accounts
WHERE account_name = 'tbogdan'
)
);
oufcorse je vais avoir 2 valeurs de project_distribution,et un "sous-Requête a renvoyé plus de 1 la valeur d'erreur" comment puis-je résoudre ce problème , et de le faire fonctionner?
Si plus d'informations sont nécessaires, veuillez demander...désolé pour la description vague...
OriginalL'auteur TBogdan | 2012-06-03
Vous devez vous connecter pour publier un commentaire.
Essayer quelque chose comme cela...
OriginalL'auteur Kevin Horgan
Utiliser le mot-clé au lieu d'égal à égal dans le project_distribution sous-requête.
Vous pouvez tester votre requête sans les sous-requêtes à entrer manuellement les valeurs que vous vous attendez à être renvoyés à partir de la sous-requête:
c'était aussi simple que ça.. j'ai tu étude plus...
OriginalL'auteur rnoake
OriginalL'auteur Jeremy Goodell
EXISTE également une possibilité:
La bonne chose à propos existe, c'est que le intérieure des noms d'alias (pd,ac) ne sont pas exposés à la requête principale.
OriginalL'auteur wildplasser