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 :

Requête,comment dire assez compliqué à faire et à expliquer


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Requête,comment dire assez compliqué à faire et à expliquer
    Bonjour,

    Voilà en fait je cherche à faire une requete mais je ne sais pas le nom que pourrai avoir cette requete au point de vue explication et SQL (peut-etre imbriqué). Je vais donc m'expliquer.

    J'ai une table qui est la suivante et qui posséde xxx enregistrement. Mais la collone fl_nom ne comporte que 30 noms distinct.

    recid fl_prenom fl_nom
    ...
    15 Jean Dupont
    16 Florent Durand
    17 Sylvain Pigier
    18 Romain Dupont
    19 Amelie Pigier
    20 Severine Dupont
    21 Pascal Pigier
    22 Stephane Pigier
    23 Myriame Durand
    -end-

    Mon but est d'arriver a afficher en SQL (sous Php) le resultat suivant et ceux de maniere automatique (avec un repeat)

    Dupont
    - Severine
    - Romain

    Durand
    - Myriame
    - Florent

    Pigier
    - Stephane
    - Pascal

    En fait, je veux afficher le champ fl_nom (en utilisant un distinct) et ensuite remonté par odre decroissant au niveau de recid tout en affichant simplement les deux derniers prenom mis à jour dans la table qui pourra compter XXX enregistrements.

    Je précise que j'utilise une fonctionon repeter au niveau de l'affichage car autrement ca naurait pas ete un probleme pour faire la requete.

    Suis-je assez clair dans mon explication?

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Un truc simple qui peux peut-etre t'aider :
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    SQL> select * from ok;
     
    NOM                  PNM
    -------------------- --------------------
    DURANT               A
    DURANT               B
    DURANT               C
    MARTIN               1
    MARTIN               2
    MARTIN               3
    MARTIN               4
    MARTIN               5
     
    8 rows selected.
     
    SQL> select distinct nom,nom,'' from ok union Select nom,'',pnm from ok order by 1,2,3;
     
    NOM                  NOM                  ''
    -------------------- -------------------- --------------------
    DURANT               DURANT
    DURANT                                    A
    DURANT                                    B
    DURANT                                    C
    MARTIN               MARTIN
    MARTIN                                    1
    MARTIN                                    2
    MARTIN                                    3
    MARTIN                                    4
    MARTIN                                    5
    Signé : Capitaine Jean-Luc Picard

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Je vais tester cela de suite


    ....

    Non je n'y arrive pas et je sens que je vais passer ma nuit dessus :-)

    Peut-etre est-il possible de la faire avec deux requetes?

  4. #4
    ALkyD
    Invité(e)
    Par défaut
    Fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT nom, prenom
    FROM ok
    ORDER BY nom ASC, prenom DESC
    de façon à lister toutes tes personnes triées alphébétiquement sur le nom et par ordre alphabétique inverse sur le prénom (pour pouvoir récupérer les 2 derniers).

    Et ensuite, en PHP, fait une boucle pour lister tous les enregistrements :

    Code : 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
     
    $i = 0;
    $query = mysql_query($req);
    while ($row = mysql_fetch_array($query))
    {
         $nom = $row['nom'];
         $prenom = $row['prenom'];
     
        if ($nom <> $ancien_nom || $i >= 2)
        {
               echo $nom;
               $i = 0;
         }
     
     
        echo $prenom;
        $i++;
     
        $ancien_nom = $nom;
    }
    Ca marchera ptete, j'ai fais le code à l'arrache lol. Enfin je pense que tu vois l'idée que je veux faire

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Médiat m'a permis de mettre au point une solution (il me semble) que tu trouveras ici.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

Discussions similaires

  1. Requête compliquée à faire
    Par cnidaire dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/07/2012, 17h14
  2. probleme requête: comment dire apartenir en sql
    Par helene38250 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/08/2007, 11h04
  3. [Débutant] Requête assez compliquée
    Par pc.bertineau dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/06/2007, 11h46
  4. Réponses: 1
    Dernier message: 07/09/2006, 16h03

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