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 :

Ordonner le résultat de la requête


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Ordonner le résultat de la requête
    Bonjour,
    J'ai un tp à rendre en bases de données, je suis en première année d'école d'ingénieur et je voudrais demander de l'aide à qui peut me donner un coup de main.
    La question à laquelle je dois répondre est la suivante: Fonction et no dept pour les fonctions dans les dept 10,30 et 20 en conservant cet ordre.
    La question est facile mais c'est justement la conservation de l'orde qui me pose problème.
    Voici mon essai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct fonction, nodept from emp where nodept in (10,30,20);
    (Correct mais sans l'ordre demandé)
    PS: Ma table emp contient les champs suivants: noemp, nom, fonction, daterecrut, salaire, comm, nodept.

    Merci d'avance à tous ceux qui pourront m'aider.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    janvier 2009
    Messages
    4 664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : janvier 2009
    Messages : 4 664
    Points : 11 171
    Points
    11 171
    Par défaut
    Bonjour,
    Je te donne 2 pistes:
    1. Order By
    2. CASE WHEN...

    Comme c'est un exercice, je n'en dit pas plus

    Tatayo.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    septembre 2016
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : septembre 2016
    Messages : 718
    Points : 1 372
    Points
    1 372
    Par défaut
    issu de la doc : http://download.nust.na/pub6/mysql/d...functions.html

    FIELD(str,str1,str2,str3,...)
    Retourne l'index de la chaîne str dans la liste str1, str2, str3, .... Retourne 0 si str n'est pas trouvé. La fonction FIELD() est un complément de la fonction ELT():
    mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
    -> 2
    mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
    -> 0

    Note : ça marche aussi avec des numériques

    ça te permettra de faire un "tableau" de rang :
    10 -> 3
    30 -> 2
    20 -> 1
    pas trouvé -> 0
    Le savoir est une nourriture qui exige des efforts.

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre aide, je vais essayer avec le case when.
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    Je te donne 2 pistes:
    1. Order By
    2. CASE WHEN...

    Comme c'est un exercice, je n'en dit pas plus

    Tatayo.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup.
    Citation Envoyé par Michel.Priori Voir le message
    issu de la doc : http://download.nust.na/pub6/mysql/d...functions.html

    FIELD(str,str1,str2,str3,...)
    Retourne l'index de la chaîne str dans la liste str1, str2, str3, .... Retourne 0 si str n'est pas trouvé. La fonction FIELD() est un complément de la fonction ELT():
    mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
    -> 2
    mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
    -> 0

    Note : ça marche aussi avec des numériques

    ça te permettra de faire un "tableau" de rang :
    10 -> 3
    30 -> 2
    20 -> 1
    pas trouvé -> 0

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 821
    Points : 27 341
    Points
    27 341
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Michel.Priori Voir le message
    issu de la doc : http://download.nust.na/pub6/mysql/d...functions.html

    FIELD(str,str1,str2,str3,...) [...]
    Cette solution est spécifique à MySQL et je ne crois pas que Manalen ait précisé le SGBD concerné
    La solution proposée par Tatayo est du standard SQL, à privilégier

Discussions similaires

  1. [SQL]: Requête NOT IN SELECT(...)
    Par CAPPE dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/06/2005, 15h06
  2. Réponses: 2
    Dernier message: 06/06/2005, 16h13
  3. [SQL] Requête complexe avec appel multiple à la même table
    Par Julien Dufour dans le forum Langage SQL
    Réponses: 9
    Dernier message: 14/04/2005, 15h12
  4. [PL/SQL]requête imbriquée
    Par Nadine dans le forum Oracle
    Réponses: 6
    Dernier message: 01/02/2005, 17h21
  5. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 17h10

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