Aide requete SQL

Bonjour,
je debute en langage sql et j’ai rencontrer un problème de requêtes. J’aimerais effectuer un tri de ce genre :

[URL=https://imageshack.com/][IMG]http://img178.imageshack.us/img178/1815/imaqs2.th.png[/IMG][/URL]

Cependant je n’arrive pas à ecrire sa requêtes. J’ai essayer :SELECT reference, etat
FROM table
WHERE etat=’X ‘
AND etat=’y’

Mais cela ne correspond pas à ce que je cherche puisqu’il selectionne tout les x et les y.
Merci d’avance pour les aides.
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. merci je vais testé ça d'ici peu
    0
    1. SELECT a.REFERENCE, a.ETAT
      FROM TABLE a
      WHERE a.ETAT = 'X'
      AND EXISTS (SELECT * FROM TABLE b WHERE a.REFERENCE = b.REFERENCE AND b.ETAT = 'Y')
      UNION
      SELECT c.REFERENCE, c.ETAT
      FROM TABLE c
      WHERE c.ETAT = 'Y'
      AND EXISTS (SELECT * FROM TABLE d WHERE c.REFERENCE = d.REFERENCE AND d.ETAT = 'X')
      ORDER BY REFERENCE, ETAT
      ;

      CQFD -- a noter que tu n'utilises qu'une table. Ne t'amuses pas à en créer plusieurs --
      0
      1. ah j avais oblier la condition
        il faut taper
        select reference,etat
        from table_name t1;t2
        where t1.reference=t2.reference
        order by reference,etat
        et c'est tout
        0
        1. salut
          essai ca

          select reference,etat
          from table_nom
          order by reference,etat
          bonne chance
          0
          1. J'ai testé les 2 méthodes,
            dans la première je suis obligé de créer une 2eme table pour que la requête fonctionne, mais cela ne correspond pas à ce que j'attend car elle n'affiche que l'etat 'X' (je souhaiterai qu'elle affiche aussi l'etat 'Y') elle a cependant bien fait le tri.
            La deuxieme hélas ne fonctionne pas car il y a une erreur de syntaxe
            0
            1. Bonjour

              Essaye ceci :

              select reference,etat from table
              where reference in (select reference from table where etat = 'X') AND
              reference in (select reference from table where etat = 'Y')

              Bonne journée.
              0
              1. Salut,
                Peut-être :
                 
                SELECT t1.reference, t1.etat 
                FROM table t1, table t2
                WHERE 
                t1.reference = t2.reference
                AND t1.etat='X' AND t2.etat='Y'
                
                0