Requete imbriquée

Bonjour, lorsque j'effectue cette requete:
SELECT NomS, PrenomS FROM STAGIAIRE WHERE IdStagiaire=(SELECT IdStagiaire FROM INSCRIPTION WHERE IdStage='16')


le serveur sql me retourne cette reponse :
#1242 - Subquery returns more than 1 row

comment faire marcher ma requete??
toute aide est la bien venu
d'avance merci

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut

    WHERE IdStagiaire IN (SELECT...)

    1. salut,
      la réponse la plus simple je crois est la Ste:
      SELECT NomS, PrenomS FROM STAGIAIRE,INSCRIPTION WHERE STAGIAIRE.IdStagiaire=INSCRIPTION.IdStagiaire
      AND INSCRIPTION.IdStage='16';
      Bonne chance.
      Merci
      Question: idstage est de type texte ou numérique?
      1. SELECT NomS, PrenomS
        FROM STAGIAIRE, INSCRIPTION
        WHERE Ta jointure entre STAGIAIRE et INSCRIPTION
        AND IdStage='16';
        1. ca ne peut pas marcher car ton 2ème SELECT doit retourner au maximum une ligne (un tuple).
          Or apparemment, il existe plusieurs stagiaires dont l'IdStage est égal à 16...
          ta base de données serait-elle incohérente ?...
          1. Contributeur
            Non cela veut juste dire que plusieurs stagiaires sont sur le même stage, ça me parait cohérent à moi :o)
            D'où le IN et non le =
          2. @teeboOK je suis d'accord : IN à la place de =