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 :

Tri sur un champ text


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Tri sur un champ text
    Bonjour,

    Voici mon problème :
    - J'ai une table [Table] avec 2 champs Id (NuméroAuto), Nom (Texte)
    La table contient les valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Id	Nom
    1	B1
    2	SV4
    3	B2
    4	B10
    5	V2
    6	V1
    7	B3
    8	SV1
    9	SV2
    10	SV10
    Mon problème est que je n'arrive pas à trier cette table par Nom, j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Table.Nom FROM [Table] ORDER BY Nom;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    B1
    B10
    B2
    B3
    SV1
    SV10
    SV2
    SV4
    V1
    V2
    ou même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Table.Nom FROM [Table] ORDER BY right('00000' + Nom,5);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    B1
    B2
    B3
    V1
    V2
    B10
    SV1
    SV2
    SV4
    SV10
    Mais comme vous pouvez le voir ça ne marche pas mieux, des idées ? (ci-joint ma base Access 2003)
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    mais quel type de tri souhaites tu ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    un tri alphabétique normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    B1
    B2
    B3
    B10
    SV1
    SV2
    SV4
    SV10
    V1
    V2

  4. #4
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    ce que tu souhaites faire n'est pas un tri alphabétique "normal" !!!!

    tu souhaites trier par les lettres qui se trouvent au début, puis par le nombre qui se trouvant derrière...

    une façon d'y arriver est de récupérer le groupe de lettres se trouvant au debut de ton texte et le nombre se trouvant derrière par 2 fonctions et ensuite de trier par les lettres et le nombre.

    Si tu crée 2 fonctions: la fonction lettres_debut et la fonction nombre_apres

    ta requête pourra être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TABLE.Nom FROM [TABLE] ORDER BY lettres_debut(Nom) & nombre_apres(Nom)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci, ça marche DANS Access.
    Le problème c'est que j'appele cette requête dans du code C#, et là il n'accepte pas dans la requête le nom d'une fonction créee dans Access.

  6. #6
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    je ne connais pas C+...

    tu peux peut être écrire la la requête ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    debut = lettres_debut(Nom)
    nombre = nombre_apres(Nom)
    SELECT TABLE.Nom FROM [TABLE] ORDER BY debut & nombre
    debut et nombre étant des variables

Discussions similaires

  1. Tri sur deux champs en même temps
    Par Azharis dans le forum Access
    Réponses: 8
    Dernier message: 11/01/2006, 13h10
  2. tri sur des champs calculés
    Par Thib dans le forum Bases de données
    Réponses: 10
    Dernier message: 18/10/2005, 17h24
  3. [Collection] Tris sur plusieurs champs
    Par partyboy dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 12/07/2005, 16h56
  4. Probleme d'UPDATE sur un champ text
    Par Nip dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/07/2005, 11h35
  5. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

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