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

Langage SQL Discussion :

probleme de requete


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut probleme de requete
    bonjour tous le monde je fais un stage et j'ai rencontré un probleme lors de la construction d'un requete en fait j vais etaller le probleme et j'espere qu'y aurais quelqu'un qui pourais m'aider .
    j dois faire un tableau a partir de plusieurs tableaux bien sur pour cela j'ai utilisé la jointure pas de probleme .mais en ce qui concerne les colones composants ce tableau elles copmtent le nombre d'une categorie qui change d'un count a l'autre et qui fait partie de la meme colone et du meme tableau .
    je sais tres bien que c difficile a assimiler tant qu'on a pa le probleme devant nous mais j'espere bien qu'il y aurait quelqu'un qui me comprendra de toutes les facons j trouverais un exemple pour que j l'etale pour bien comprendre mon objectif . merci d'avance

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    1°) quel sgbd ?
    2°) montre ton code, le résultat obtenu et le résutat attendu
    3°) DDL des tables



  3. #3
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    select upper(D.DES_DAM) ville,count(M.DAT_STA_DEF ) def2006,count(M1.DAT_STA_PRV ) prv2006,count(M2.DAT_RAD ) rad2006
    from marin M, DAM D, marin M1, marin M2
    where (M.NUM_DAM=D.NUM_DAM
    and D.NUM_SOU_DAM=M.NUM_SOU_DAM
    and M.DAT_STA_DEF between '01-JAN-2006' and '31-DEC-2006' )
    or (M1.NUM_DAM=D.NUM_DAM
    and D.NUM_SOU_DAM=M1.NUM_SOU_DAM
    and M1.DAT_STA_PRV between '01-JAN-2006' and '31-DEC-2006')
    or (M2.NUM_DAM=D.NUM_DAM
    and D.NUM_SOU_DAM=M2.NUM_SOU_DAM
    and M2.DAT_RAD is not null)
    group by upper(D.DES_DAM);
    en fait le voila mon code
    an ce qui concerne les tables c'est trop long et j'ai pa le droit de les divulguer j'esepere que ca va t'aider a comprendre ce que je cherche . merci

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    joli requete, mais personnellement je n'ai pas compris le problème....
    sans plus de précisions, cela m'étonnerait que tu trouves beaucoup de réponses
    dis nous au moins ce qui ne va pas

  5. #5
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    merci c gentille
    en fait les dates que j'ai mentionné pour que la requete les compte appartiennent tous a la meme table . alors moi quand je met les conditions pour chaque count la requetes execute toutes les conditions .
    moi dont j'ai besoin c de pourvoir faire associer chaque count a la condition qui lui est compatible ok ? ms cela devrait s'afficher dans la meme table ok ?
    j'espere que ca va mieux la .

  6. #6
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    1°) quel sgbd ?
    2°) montre ton code, le résultat obtenu et le résutat attendu

  7. #7
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    le code j l'ai mentionné j'ai pa eu de resultat abtenu et pour le resultat attendu je viens de l'expliquer . merci

  8. #8
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    En fait, tu n'es vraiment pas clair dans tes explications.

    Pour reprendre les questions de Mathusalem :
    Quelle Système de Gestion de Base de Données utilises-tu ?

    Si tu es sous Oracle, regardes les CUBE et ROLLUP (d'après ce que j'ai compris de ton souhait).

    ++
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  9. #9
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    effectivement j suis sous sql et j'ai beau chercher je trouve pas ce qui peut m'aider.

  10. #10
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Quote trouvé sur un site au hasard :

    ROLLUP and CUBE are SQL extensions and they're available in SQL Server 6.5 (and above) and Oracle 8i (and above).
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  11. #11
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par hwijra
    effectivement j suis sous sql et j'ai beau chercher je trouve pas ce qui peut m'aider.



    sgbd : système de gestion de base de donnée

    sql : structured query language

  12. #12
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    voila j'ai une table intitulée marin qui comporte plusieurs colones parmi cesdernieres on trouve DAT_STA_PRV (date statut provisoir du marin) , DAT_STA_DEF ( date statut definitive) , DAT_RAD( date de radiation du marin) .
    on me demande de compter le nombre de marin qui ont le statut provisoir, le nombre de marin qui ont le statut defnitif , meme chose pour ceux qui sont radier .
    et tt cela il faudrait l'avoir dans le meme resultat. et cela par departtement celui que j'ai mentionné par DES_DAM qui appartient a la table DAM . voila j crois que j'ai bien expliqué ce que j voulais .
    donc moi quand j'ai mis en place ma requete elle n'aboutit a rien car il y a des interaction entre les and et les or qui s'y trouve .

  13. #13
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    La question qu'on te pose c'est sous quel Systeme de Gestion de Base de Donnée est tu.

    Est-ce Oracle ? MySQL ? SQL Server ?
    Et précise aussi la version, c'est trés important pour connaitre les fonction et solutions dont on dispose.

  14. #14
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    bonjour tous le monde je suis sous sqlplus

  15. #15
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Salut,
    Sqlplus est une interface qui te permet d'exécuter des commandes en langage SQL de façon interactive. De plus, elle offre quelques commandes d'édition. Sqlplus est utilisée (fournie) par Oracle. Ton SGBD est donc ORACLE.
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  16. #16
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Une solution (pas la meilleure) serait de faire une union des trois requêtes:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    select count(*) 
    from marin m1, DAM d1
    where m1.NUM_DAM=d1.NUM_DAM
    and d1.NUM_SOU_DAM=m1.NUM_SOU_DAM
    and m1.DAT_STA_DEF between '01-JAN-2006' and '31-DEC-2006'
    group by d1.DES_DAM
    union
    select count(*) 
    from marin m2, DAM d2
    where m2.NUM_DAM=d2.NUM_DAM
    and d2.NUM_SOU_DAM=m2.NUM_SOU_DAM
    and m2.DAT_STA_PRV between '01-JAN-2006' and '31-DEC-2006'
    group by d2.DES_DAM
    union
    select count(*) 
    from marin m3, DAM d3
    where m3.NUM_DAM=d3.NUM_DAM
    and d3.NUM_SOU_DAM=m3.NUM_SOU_DAM
    and m3.DAT_RAD is not null
    group by d3.DES_DAM;
    PS : A l'avenir, pour afficher ton code utilise la balise appropriée
    Etre ou ne pas être, telle est la question sinusoïdale de l'anachorète hypocondriaque et vice et versa .
    Bonsai monsieur, bonsai madame, vous avez gagnez un milliard de degrés au soleil .
    There is no cure for stupidity (ou pas ).

  17. #17
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    merci mais ca resoud pa le probleme

  18. #18
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    quand on fait une union entre des requetes alors ce qui s'affiche est juste ce qu'on a selectionné dans la premiere apres les autres selections ne font que rajouter leurs elements a cette meme colonne qui s'affiche en tt cas merci pour ton aide mais finalement ca resoud pa le probleme.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 57
    Points
    57
    Par défaut
    logiquement, son code devrait afficher une ligne avec trois valeurs (les trois count).
    Par contre, est-ce possible d'avoir un exemple de résultat (avec des valeurs bidons, certe) juste histoire que tout le monde puisse voir ce que tu désires. merci

  20. #20
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    en fait j desire avoir un resultat sous la forme du tableau suivant
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. probleme de requete
    Par doudou1 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/04/2004, 13h42
  2. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45
  3. PROBLEME DE REQUETE IMBRIQUEE
    Par fleuve007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/12/2003, 15h33
  4. probleme de requete
    Par LineLe dans le forum ASP
    Réponses: 8
    Dernier message: 17/09/2003, 16h47
  5. Probleme de requete
    Par misterbillyboy dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/07/2003, 08h24

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