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 :

comprendre le sens du 'if'


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut comprendre le sens du 'if'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query.="
    if (biblioteque.streaming=1,1,0) as livre,
     
    pays.france as france ,
    pays.traduction as pays,
    ";
    Bonjour,

    J'essaye de comprendre un script et je cherche a comprendre la signification de cette ligne de commande.

    Comment est vue la ligne " if (biblioteque.streaming=1,1,0) as livre" , est-ce que cela signifie que si "biblioteque.streaming" est égale à "1" alors je lui affecte l'alias "livre" ???

    pourquoi 1,1,0 ???

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Ce que signifie le IF, c'est que si bibliotheque.streaming vaut 1, alors la valeur renvoyée est 1, sinon c'est la valeur 0 qui est renvoyée.
    L'alias (as livre) signifie que, dans le résultat de la requête, cette "colonne" sera nommée "livre". Elle ne prendra que les valeurs 0 ou 1.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    Ce que signifie le IF, c'est que si bibliotheque.streaming vaut 1, alors la valeur renvoyée est 1, sinon c'est la valeur 0 qui est renvoyée.
    L'alias (as livre) signifie que, dans le résultat de la requête, cette "colonne" sera nommée "livre". Elle ne prendra que les valeurs 0 ou 1.

    ced
    Merci bcp pour cette réponse

    Et pour "1,1,0" , le premier 1 c'est pour "biblioteque.streaming" , mais les chiffres qui viennent après à quoi servent'ils ? est-ce que cela définit les valeurs que "bibliotheque.streaming" et l'alias "livre" peuvent prendre ?

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Le premier 1 est la valeur de comparaison (on compare biblioteque.streaming à la valeur 1), le deuxième 1 correspond à la valeur qui est renvoyée dans le cas où biblioteque.streaming vaut 1 et le 0 correspond à la valeur renvoyée si biblioteque.streaming ne vaut pas 1.

    De manière plus générale, la syntaxe de IF est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(champ1 = val1, val2, val3)
    Ce qui signifie :
    • si champ1 vaut la valeur val1, alors on affiche la valeur val2 ;
    • si champ1 ne vaut pas la valeur val1, alors on affiche val3.


    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par ced Voir le message
    Le premier 1 est la valeur de comparaison (on compare biblioteque.streaming à la valeur 1), le deuxième 1 correspond à la valeur qui est renvoyée dans le cas où biblioteque.streaming vaut 1 et le 0 correspond à la valeur renvoyée si biblioteque.streaming ne vaut pas 1.

    De manière plus générale, la syntaxe de IF est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(champ1 = val1, val2, val3)
    Ce qui signifie :
    • si champ1 vaut la valeur val1, alors on affiche la valeur val2 ;
    • si champ1 ne vaut pas la valeur val1, alors on affiche val3.


    ced
    Merci bcp

  6. #6
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par ced Voir le message
    Le premier 1 est la valeur de comparaison (on compare biblioteque.streaming à la valeur 1), le deuxième 1 correspond à la valeur qui est renvoyée dans le cas où biblioteque.streaming vaut 1 et le 0 correspond à la valeur renvoyée si biblioteque.streaming ne vaut pas 1.

    De manière plus générale, la syntaxe de IF est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(champ1 = val1, val2, val3)
    Ce qui signifie :
    • si champ1 vaut la valeur val1, alors on affiche la valeur val2 ;
    • si champ1 ne vaut pas la valeur val1, alors on affiche val3.


    ced

    Ok merci, voyons voir si j'ai bien compris :

    Je prend cette expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (fin_premiere_mitemps is null,seconde_mitemps,fin_premiere_mitemps + INTERVAL 16 MINUTE) as seconde_mitemps
    Si "fin_premiere_mitemps" vaut NULL alors l'alias "seconde_mitemps"
    vaudra la valeur " seconde_mitemps" (val2)

    Si "fin_premiere_mitemps" n'est pas NULL alors l'alias "seconde_mitemps"
    vaudra la valeur " ,fin_premiere_mitemps + INTERVAL 16 MINUTE" (val3)

    Est-ce bien cela ?

  7. #7
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    C'est ça

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Comprendre le sens de ev dans ActionEvent
    Par bipbip2006 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 02/11/2009, 10h26
  2. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 14h38
  3. probleme réseau : ping a sens unique
    Par be_on_edge dans le forum Développement
    Réponses: 14
    Dernier message: 18/09/2004, 10h01
  4. sens trigomometrique
    Par CookSlash dans le forum OpenGL
    Réponses: 4
    Dernier message: 09/04/2004, 18h11
  5. [Procédure][java] A n'y rien comprendre
    Par Stessy dans le forum SQL
    Réponses: 2
    Dernier message: 18/03/2004, 15h05

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