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

  1. Contributeur
    Salut

    WHERE IdStagiaire IN (SELECT...)

    19
    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?
      5
      1. SELECT NomS, PrenomS
        FROM STAGIAIRE, INSCRIPTION
        WHERE Ta jointure entre STAGIAIRE et INSCRIPTION
        AND IdStage='16';
        0
        1. Cela devrait normalement marcher...
          A suivre..
          0
          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 ?...
            0
            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 =
              0
            2. @teeboOK je suis d'accord : IN à la place de =
              0