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 MySQL Discussion :

[Newbie] - Equivalent Requete MSSQL pour mySQL


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 91
    Points : 65
    Points
    65
    Par défaut [Newbie] - Equivalent Requete MSSQL pour mySQL
    ALut, help please....

    0/ MySQL 5.1.30-community via TCP/IP

    1/ Je crée une vue sur +eures tables (ok no problemo), mais
    je ne trouve pas l'équivalent pour MySQL de (c'est un exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'IMG_AFFICHE'=Case 
    WHEN IMG1 IS NOT NULL THEN IMG1
    WHEN IMG2 IS NOT NULL THEN IMG2
    ELSE 'IMG_DEFAULT.gif'
    END
    Cela existe t il sous SQL pour MySQL ?
    Si oui, quelle est la bonne syntaxe

    Merci de votre aide
    Samish
    Samish, rentier et futur retraité
    Padawan #7896358

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut http://dev.mysql.com/doc/refman/5.0/fr/control-flow-functions.
    Saluton,
    Extrait de la doc :
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    *

    CASE valeur WHEN [compare-value] THEN résultat [WHEN [compare-value] THEN résultat ...] [ELSE résultat] END, CASE WHEN [condition] THEN résultat [WHEN [condition] THEN résultat ...] [ELSE résultat] END

    La première version retourne résultat si valeur=compare-value. La seconde version retourne le résultat de la première condition qui se réalise. Si aucune des conditions n'est réalisé, alors le résultat de la clause ELSE est retourné. Si il n'y a pas de clause ELSE alors NULL est retourné :

    mysql> SELECT CASE 1 WHEN 1 THEN "un"
    WHEN 2 THEN "deux" ELSE "plus" END;
    -> "un"
    mysql> SELECT CASE WHEN 1>0 THEN "vrai" ELSE "faux" END;
    -> "vrai"
    mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;
    -> NULL

    Le type de la valeur retournée (INTEGER, DOUBLE ou STRING) est de même type que la première valeur retournée (l'expression après le premier THEN).
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 91
    Points : 65
    Points
    65
    Par défaut
    0/ BZH !!!! Rosko, Carantec, Plougrescant

    1/ Merci de votre reponse

    2/ J'ai aussi trouvé cette doc et le code mais je n'arrive pas à le faire
    fonctionner.

    Ma problematique exemple (dans ma vue V1_TEST) :

    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
    MA_TABLE
    ID
    IMG1
    IMG2
     
    --V1_TEST SOUS MSSQL
    SELECT ID, IMG1, IMG2,
    'IMG_AFFICHE'=Case 
    WHEN IMG1 IS NOT NULL THEN IMG1
    WHEN IMG2 IS NOT NULL THEN IMG2
    ELSE 'IMG_DEFAULT.gif'
    END
    FROM MA_TABLE
     
    SELECT IMG_AFFICHE FROM V1_TEST
    -->Retourne par ex. IMG_DEFAULT.gif si IMG1 et IMG2 "sont" NULL
    En fait le pb est de créer un "PSEUDO CHAMP" et lui donner la valeur
    resultant du test des valeurs IMG1, IMG2

    Pourriez vous SVP, me créer la transpo du code de V1_TEST ci-dessus
    afin de voir un exemple concret.

    Merci
    Samish
    Samish, rentier et futur retraité
    Padawan #7896358

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT ID, IMG1, IMG2,
    CASE
    WHEN IMG1 IS NOT NULL THEN IMG1
    WHEN IMG2 IS NOT NULL THEN IMG2
    ELSE 'IMG_DEFAULT.gif'
    END AS IMG_AFFICHE
    FROM MA_TABLE
    Le AS étant au demeurant facultatif.
    C'est la syntaxe normalisée de SQL.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 91
    Points : 65
    Points
    65
    Par défaut
    1/ ok, merci beaucoup ! ça marche impec

    2/ C'est la syntaxe normalisée de SQL => Ah les mauvaises habitudes !
    Retour aux livres asap
    Samish, rentier et futur retraité
    Padawan #7896358

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

Discussions similaires

  1. [MySQL] Equivalent de pg_fetch_all pour MySql
    Par senacle dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/06/2009, 14h57
  2. Equivalent de la commande "SET" sous Oracle pour MySQL
    Par f1vincent dans le forum Outils
    Réponses: 4
    Dernier message: 21/12/2006, 21h20
  3. equivalent function decode oracle pour mysql 4.1
    Par axel-erator dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 24/05/2006, 13h44
  4. Equivalent a fonction DATEDIFF pour MySQL version 3.23
    Par npze dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 31/10/2005, 11h18
  5. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 22h31

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