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

PHP & Base de données Discussion :

Requete mysql vers postgres avec case [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Requete mysql vers postgres avec case
    Bonjour tous le monde,

    Dans le cadre de mon travail, je dois effectué une migration d'une base mysql vers postgres, il y a une requête auquel je patine car j'ai une erreur venant de cette requête :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT DISTINCT SUBSTRING(name from 1 for 2) as name_group FROM grp 
                WHERE SUBSTRING(name from 1 for 2) IN ('CC', 'CP', 'CS', 'CE', 'HD', 'MO', 'LU', 'DP') 
                ORDER BY CASE SUBSTRING(name from 1 for 2) 
                WHEN 'HD' THEN 1           
                WHEN 'CC' THEN 2 
                WHEN 'CP' THEN 3 
                WHEN 'CS' THEN 4 
                WHEN 'CE' THEN 5 
                WHEN 'LU' THEN 6 
                WHEN 'DP' THEN 7          
                WHEN 'MO' THEN 8 
                END ASC


    L'erreur est la suivante :
    for SELECT DISTINCT, ORDER BY expressions must appear in select list
    LINE 3: ORDER BY CASE SUBSTRING(name from 1 for 2)
    Je vous remercie d'avance pour votre aide

    Cordialement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    comme ça ?
    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
    SELECT DISTINCT SUBSTRING(name FROM 1 FOR 2) AS name_group,
    CASE SUBSTRING(name FROM 1 FOR 2) 
                WHEN 'HD' THEN 1           
                WHEN 'CC' THEN 2 
                WHEN 'CP' THEN 3 
                WHEN 'CS' THEN 4 
                WHEN 'CE' THEN 5 
                WHEN 'LU' THEN 6 
                WHEN 'DP' THEN 7          
                WHEN 'MO' THEN 8 
    END as name
     
    FROM grp 
                WHERE SUBSTRING(name FROM 1 FOR 2) IN ('CC', 'CP', 'CS', 'CE', 'HD', 'MO', 'LU', 'DP') 
                ORDER BY  name ASC
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Sa fonctionne !

    Merci beaucoup, passe une très bonne journée

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

Discussions similaires

  1. [MySQL] Export mysql vers xls avec les accents
    Par cesar33 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/02/2013, 07h07
  2. [AJAX] Requete ajax vers servlet avec un forward
    Par freetala dans le forum AJAX
    Réponses: 0
    Dernier message: 10/05/2011, 12h09
  3. Réponses: 4
    Dernier message: 26/11/2008, 13h59
  4. requete mysql vers jointure
    Par madjb dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/07/2008, 18h32
  5. [exporter] donnée MySQL vers PostGres
    Par cysboy dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 01/08/2007, 13h53

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