IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Pb dans la construction de la requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut Pb dans la construction de la requete
    Bon voila ca fait 2 jours que je galere, je ne trouve pas ma solution.
    Ca doit etre tellement facile que je ne le vois pas.
    Donc je solicite votre aide et merci d'avance.

    Table A avec 2 champs ( sifre, numero)
    10b180120081625030028 1
    10b180120081644190031 1
    10b190120081054530085 0
    10b190120081054530085 1
    10b190120081340250189 1
    10b190120081552540273 1
    10b190120081937370295 1
    10b200120080914490303 1
    10b200120081152360362 1
    10b200120081316190402 1
    10b200120081422010427 1
    10b200120081544170444 0
    10b200120081544170444 1
    10b200120081544170444 1
    10b200120081544170444 1
    10c190120081059130074 1
    10c190120081117350080 0
    10c190120081117350080 0
    10c190120081117350080 1
    10c190120081204040091 1
    10c190120081222280105 1
    10c190120081222280105 1
    10c190120081246510113 1

    Je veux extraire que le sifre ayant uniquement que des 1
    10b180120081644190031 -> c'est ok
    10c190120081222280105 -> c'est ok
    10b190120081054530085 -> c'est pas bon
    10c190120081117350080 -> c'est pas bon


    C'est tout pour aujourd'hui.

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut enibris,

    voilà le code sql que tu cherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sifre from [Table A] where numero=1

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut
    c'est pas bon

    10b190120081054530085 0
    10b190120081054530085 1


    Je veux extraire que le sifre ayant uniquement que des 1, celui la à un 0.

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    autant pour moi, j'aurais donc mal compris ce que tu voulais.

    peux tu m'expliquer ce que tu veux dire par:
    le sifre ayant uniquement que des 1
    qu'es ce qui doit être à 1?

  5. #5
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT A.sifre
    FROM A
    GROUP BY A.sifre
    having Sum(IIf([numero]=1,0,1)) = 0
    Par exemple ...

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut
    0-> en attente
    11->intermidiaire
    12-> egal a 1
    1->gagnant
    2->perdant

  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    chrifo visiblement à mieux compris.

    je comprends mieux d'après le code de chifro mais enibris quand tu as 12 ca vaut aussi 1 = gagnant?
    à quoi correspondent tes 0,1,11,12? à la somme des [numero] non nul pour le sifre?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut
    je veux avoir la liste des sifres qui sont pas en attente

    12->1 c'est bien u gagnant


    Cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT A.sifre
    FROM A
    GROUP BY A.sifre
    having Sum(IIf([numero]=1,0,1)) = 0

  9. #9
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Citation Envoyé par enibris Voir le message
    Cela ne marche pas
    C'est à dire ?

    alors comme cela, en éliminant tous les sifre qui présentent un 0 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT A.sifre
    FROM A
    GROUP BY A.sifre
    having Sum(IIf([numero]=0,1,0)) = 0

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut
    C'est que le numero peut prendre ces valeurs la

    0-> en attente
    11->intermidiaire
    12-> egal a 1
    1->gagnant
    2->perdant

    Est-ce que cela va deranger cette ligne : 'having Sum(IIf([numero]=0,1,0)) = 0'

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par vodiem Voir le message
    salut enibris,

    voilà le code sql que tu cherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sifre from [Table A] where numero=1
    Citation Envoyé par enibris Voir le message
    c'est pas bon

    10b190120081054530085 0
    10b190120081054530085 1

    Je veux extraire que le sifre ayant uniquement que des 1, celui la à un 0.
    c'est pas possible d'avoir le résultat ci dessus avec la requête de vodiem. Y'a quelque chose qui cloche dans ta façon de faire les requêtes sans doute, mais cette requête est la bonne. Si tu veux aussi les 12 par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sifre from [Table A] where numero in (1, 12)

  12. #12
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    pifou25,

    Y'a quelque chose qui cloche dans ta façon de faire les requêtes sans doute
    je te demanderais un peu de clémence, tu devrais lire l'ensemble des posts avant de donner des jugements hatives.
    je me suis abstenu de donner de code reconnaissant mon erreur non pas de codage mais d'interprêtation et visiblement chrifo lui même n'avait pas tout a fait saisie.
    j'ai laissé le soin à chrifo de pousuivre son idée, et mieux cerner le besoin de enibris.
    alors si tu as la clairevoyance de comprendre mieux que nous, je te remercierais de t'abstenir de critiquer ceux qui aide et simplement aider ceux qui en ont besoin.
    nous ne sommes pas là pour nous chamailler à savoir qui comprend et codera le mieux.

    merci de ta compréhension.

    et je me permet douter de la pertinence de ta requete d'après ce que j'ai compris. mais ce ne serais pas la première fois que je n'aurais pas cerner son sujet...

  13. #13
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Citation Envoyé par enibris Voir le message
    C'est que le numero peut prendre ces valeurs la

    0-> en attente
    11->intermidiaire
    12-> egal a 1
    1->gagnant
    2->perdant
    Quelles valeurs sont éliminatoires ?

    Citation Envoyé par enibris Voir le message
    Est-ce que cela va deranger cette ligne : 'having Sum(IIf([numero]=0,1,0)) = 0'
    non, ici seulement le 0 est éliminatoire. Si ce n'est pas ce que vous voulez il faut adapter la clause.


    Faites des tests, essayez de comprendre le fonctionnement de la requête, il n'y a rien de magique la dedans

    A+

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    alors je tiens à m'excuser pour vodiem et puis pour tout le monde si j'ai pu paraitre brutal et puis expéditif.
    Je suis persuadé que la réponse sera simple, mais comme souvent le plus difficile n'est pas d'y répondre mais de comprendre la question je laisse la main

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Points : 61
    Points
    61
    Par défaut
    Le 0 est eliminatoire.

    donc 'having Sum(IIf([numero]=0,1,0)) = 0' me suffit amplement


    Merci de vore aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] non affichage d'un zero dans le resultat d'une requete
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/11/2005, 01h31
  2. Réponses: 2
    Dernier message: 03/11/2005, 12h49
  3. Rajouter les numéros de ligne dans une colone d'une requete
    Par AntiSAL dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/11/2005, 20h07
  4. [JAR]Inclusion de fichiers jar dans la construction d'un jar
    Par elspliffo dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 28/10/2005, 11h01
  5. erreur dans l'execution d'une requete
    Par marsupilami34 dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/09/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo