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 :

Associer un AND avec un CASE dans une mise à jour [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut Associer un AND avec un CASE dans une mise à jour
    Bonjour, je cherche à savoir si c'est possible d'associer un AND avec un CASE, pour mettre à jour deux colonnes d'une table en fonction de deux autres colonnes.

    Par exemple (ce sera plus explicite) :
    . si titre = film1 et genre = genre1, si titre = film2 et genre = genre2, ... je mets à jour la colonne référence,
    . si titre = série1, série2, ... je mets à jour la colonne résumé.

    Voici où j'en suis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $req_MAJ = "UPDATE filmographie SET référence =		
    	CASE titre
    		WHEN 'Film1' THEN '" . $varRef1 . "' // si en + genre = genre1
    		WHEN 'Film2' THEN '" . $varRef1 . "' // si en + genre = genre1
    		WHEN 'Film3' THEN '" . $varRef2 . "' // si en + genre = genre2
    	END, résumé =
    	CASE titre
    	   	WHEN 'Série1' THEN '" . $varResume1 . "'
                    WHEN 'Série2' THEN '" . $varResume2 . "'
                    WHEN 'Série3' THEN '" . $varResume3 . "' ...
    	END";
    Je n'arrive pas à inclure la seconde condition genre dans le CASE titre.
    J'espère avoir été assez compréhensible.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Tu devrais pouvoir faire qque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    SET référence =
        CASE TRUE
            WHEN titre = 'film1' AND genre = 'genre1' THEN 'valeur1'
            WHEN titre = 'film2' AND genre = 'genre2' THEN 'valeur2'
        END
    ...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Points : 146
    Points
    146
    Par défaut
    Terrible !! merci, ça fonctionne nickel ...
    Y en a qui sont vraiment balèzes quand même !

    A++

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

Discussions similaires

  1. [XL-2010] RECHERCHEV avec plusieurs indice dans une case
    Par martic dans le forum Excel
    Réponses: 3
    Dernier message: 13/09/2012, 13h33
  2. Utilisation d'un AND dans une mise à jour
    Par richard038 dans le forum Langage SQL
    Réponses: 13
    Dernier message: 31/03/2011, 15h49
  3. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50
  4. Problèmes avec un TWebBrowser dans une DLL
    Par bellamyjc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/01/2005, 22h35
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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