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 :

Afficher la valeur d'un enum dans ma requête [Débutant(e)]


Sujet :

Langage SQL

  1. #21
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 : 10 134
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Je plains celui qui devra maintenir une telle requête, et on ne peut même pas la simplifier en créant autant de CTE que nécessaire puisque MySQL ne gère pas les CTE

    Je pense que le problème vient de l'absence d'alias ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [. . .]
    GROUP BY SR_ID) as alias_à_ajouter
    ON srrevolc.SR_ID = immrl.ID
    Ou éventuellement ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CASE IFNULL((SELECT caut.MONTANT_ACTIVE FROM CAUTION AS caut WHERE caut.IMMEUBLE_ID_FK = imm.ID  ORDER BY caut.DEBUT_PERIODE DESC LIMIT 1), 0)

  2. #22
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Je plains celui qui devra maintenir une telle requête
    Je suis assez d'accord, mais on ne me laisse pas le choix.

    Il est difficile de faire comprendre à certains qu'une base de données n'est pas un fichier Excel...

    Sinon, effectivement, c'est bien ici que cela ne va pas :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GROUP BY SR_ID) as alias_à_ajouter 
    ON srrevolc.SR_ID = immrl.ID

    Seulement, du coup, j'ai une erreur dans ma clause ON.
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  3. #23
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 : 10 134
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Oui du coup il faut reprendre l'alias ajouté


    comme j'ai du mal à m'y retrouver vu la taille du code, c'est soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GROUP BY SR_ID) as alias_à_ajouter 
    ON alias_à_ajouter.SR_ID = immrl.ID
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GROUP BY SR_ID) as alias_à_ajouter 
    ON srrevolc.SR_ID= alias_à_ajouter.ID

  4. #24
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    J'avais essayé diverses solutions, dont probablement celles que tu proposes, mais cela ne fonctionne pas.

    Je ne sais pas si c'est possible de cette façon.

    On m'a proposé une solution avec une requête et une simple jointure sur les deux requêtes qui fonctionne, mais je ne trouve pas cela très propre.

    Je vais essayer de regarder ça à tête reposée, je commence à mélanger un peu.
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #25
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    Le type ENUM n'existe pas en SQL. C'est un type spécifique à certains SGBD... Posez votre question dans le forum approprié !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #26
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    C'est simplement un pivot non ?

    est-ce que ceci ne répond pas au besoin :

    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
     
    	SELECT CONCAT(imm.NUMERO_DOSSIER, '-', imm.LETTRE_DOSSIER) AS ND
    		  ,MAX(CASE WHEN rev.ENUM_TYPE = 'fondRegulationExistant' THEN MONTANT END) as M1
    		  ,MAX(CASE WHEN rev.ENUM_TYPE = 'AutreType1' THEN MONTANT END) as M2  
    		  ,MAX(CASE WHEN rev.ENUM_TYPE = 'AutreType2' THEN MONTANT END) as M3 
     
    	FROM IMMEUBLE AS imm
    	INNER JOIN REVENU_LOCATIF AS rev
    	   ON rev.IMMEUBLE_ID_FK = imm.ID
    	WHERE NOT EXISTS
    		 (SELECT 1
    		  FROM REVENU_LOCATIF AS rev2
    		  WHERE rev2.IMMEUBLE_ID_FK = imm.ID
    			AND rev2.DATE_DEBUT > rev.DATE_DEBUT)
    	GROUP BY imm.NUMERO_DOSSIER, imm.LETTRE_DOSSIER

  7. #27
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour,

    Je vous prie d'accepter mes excuses pour la (très) longue absence, j'étais accaparé par plus urgent

    @aieeeuuuuu

    J'ai testé ta proposition, c'est juste parfait.

    Un grand merci !

    Je peux passer ce sujet en résolu.
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2009, 14h20
  2. Réponses: 2
    Dernier message: 01/12/2008, 12h00
  3. afficher les valeur d'une requete dans une combobox
    Par carlos587261 dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/06/2007, 08h45
  4. Réponses: 10
    Dernier message: 22/05/2007, 11h07
  5. Afficher les valeurs d'une structure dans une matrice
    Par yabbiyou dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/02/2007, 12h26

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