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 select avec condidition [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut requete select avec condidition
    J'essaye de recupérer un champs ou un autre sur une condition sur ce champs

    Le champs vaut -1 => il doit prendre un autre champs dans la table
    Le champs est un numérique >0 il prend un autre champs dans un autre table sur jointure

    J'ai tenté avec IF ou CASE

    voici mon case :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT p.id_cust, p.civ_cust, p.prenom_cust, p.nom_cust, p.mail_cust, p.teldir_cust, 
    CASE p.fct_cust WHEN -1 THEN p.fct_nr ELSE f.caption_f END CASE, p.soc_cust, p.adr1_soc, p.adr2_soc, p.cp_cust, p.ville_cust, p.pays_cust, p.telsoc_cust, p.faxsoc_cust
    FROM prospects AS p, fonction AS f
    WHERE f.id_f = p.fct_cust
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Bon ben ça passe avec IF (sans THEN ELSE)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT p.id_cust, p.civ_cust, p.prenom_cust, p.nom_cust, p.mail_cust, p.teldir_cust, IF( p.fct_cust = -1, p.fctnr_cust, f.caption_f ) , p.soc_cust, p.adr1_soc, p.adr2_soc, p.cp_cust, p.ville_cust, p.pays_cust, p.telsoc_cust, p.faxsoc_cust
    FROM prospects AS p, fonction AS f
    WHERE f.id_f = p.fct_cust
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    CASE fini par END et pas par END CASE il me semble

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    SELECT 
    	p.id_cust, 
    	p.civ_cust, 
    	p.prenom_cust, 
    	p.nom_cust, 
    	p.mail_cust, 
    	p.teldir_cust, 
    	CASE 
    		WHEN p.fct_cust = -1 
    		THEN p.fct_nr 
    		ELSE 
    			CASE WHEN 
    				p.fct_cust > 0
    				THEN auctre_champ
    				ELSE f.caption_f 
    			END
    	END, 
    	p.soc_cust, 
    	p.adr1_soc, 
    	p.adr2_soc, 
    	p.cp_cust, 
    	p.ville_cust, 
    	p.pays_cust, 
    	p.telsoc_cust, 
    	p.faxsoc_cust
     
    FROM 
    	prospects AS p, fonction AS f
     
    WHERE 
    	f.id_f = p.fct_cust

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

Discussions similaires

  1. [VB.NET]Requete SELECT avec un Like
    Par krfa1 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/01/2007, 17h24
  2. Réponses: 4
    Dernier message: 20/06/2006, 11h02
  3. probleme requete select avec 2 colonnes
    Par cricri45000 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2005, 10h39
  4. requete select avec AS remplacement de valeur
    Par pi3141563 dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/04/2004, 22h15
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04

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