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 :

savoir si un article possède un accessoire .


Sujet :

Requêtes MySQL

  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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut savoir si un article possède un accessoire .
    j'ai une table articles(CodeArt,...) et une table accessoires(CodeArt, Code Acc)

    Un artcile peut figurer plusieurs fois dans la table accessoires mais peut aussi ne pas y figurer

    je cherche à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a.Code_Art, ar.Code_Acc_Acc as HasAccessoire
    FROM articles a LEFT OUTER JOIN articleaccessoiresfilter ar ON  
    ar.Code_Art_Acc=a.Code_Art
    je voudrais que HasAccessoire me retourne un flag genre NULL ou NON NULL

    là pour le moment je récupère la liste intégrale et plusieurs fois le même article si il a plusieurs accessoires ...
    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
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a.Code_Art, COUNT(ar.Code_Acc_Acc)AS HasAccessoire
    FROM articles a LEFT OUTER JOIN articleaccessoiresfilter ar ON  
    ar.Code_Art_Acc=a.Code_Art GROUP BY a.Code_Art
    devrait te retourner pour chaque article le nombre de fois ou il apparait dans la seconde table, 0 s'il apparait pas
    Cartes Pokémon, Yugioh, Magic ?
    Communauté d'échange

  3. #3
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    évidemment vu comme ça c'est beaucoup plus simple ...

    Mille mercis kangaxx
    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 !

  4. #4
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Oui bon tout seul ça marche mais quand j'essaye de l'intégrer à une requete ça marche plus ...

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    SELECT A.Code_Art as CodeArticle,
     
    				A.Desi_Art as Designation,
     
    				A.Desc_Art as Description,
     
    				A.Ico_Toque as Toque,
     
    				A.Ico_Flamme as Flamme,
     
    				A.Ico_Clim as Clim,
     
    				A.Tn_Art as Vignette,
     
    				A.Zm_Art as Zoom,
     
    				A.Fc_Art as  
    FeuilletCom,	
     
    			MC.hexa_color as bgColor,
     
    COUNT(ar.Code_Art_Acc) as HasAccessoire
     
    			FROM Articles A
     
     LEFT OUTER JOIN articles accessoiresfilter ar ON 
    ar.Code_Art_Acc=A.Code_Art
     
    			INNER JOIN articlemenufilter AM 
     
    			ON A.Code_Art=AM.Code_filter
     
    			INNER JOIN menucolors as MC ON 
    AM.Rubrique_Filter=MC.menu_color
     
    					WHERE 
    A.Actif_Art=TRUE AND AM.Rubrique_filter="AIK"  
     
    ORDER BY A.Rank_Art ASC
    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 !

  5. #5
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Bon après quelques galères voilà comment j'ai résolu le problème

    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
    17
    18
    19
    20
    21
    22
    SELECT A.Code_Art as CodeArticle,
                 A.Desi_Art as Designation,
                 A.Desc_Art as Description,
                 A.Ico_Toque as Toque,
                 A.Ico_Flamme as Flamme,
                 A.Ico_Clim as Clim,
                 A.Tn_Art as Vignette,
                 A.Zm_Art as Zoom,
                 A.Fc_Art as  FeuilletCom,
                MC.hexa_color as bgColor,
                COUNT(ar.Code_Art_Acc) as HasAccessoire
    FROM Articles A 
    LEFT OUTER JOIN articleaccessoiresfilter ar 
    ON ar.Code_Art_Acc=A.Code_Art
    INNER JOIN articlemenufilter AM 
    ON A.Code_Art=AM.Code_filter
    INNER JOIN menucolors as MC ON 
    AM.Rubrique_Filter=MC.menu_color
    WHERE A.Actif_Art=TRUE 
    AND A.Code_Art="CVTB"  
    GROUP BY A.Code_Art
    ORDER BY A.Rank_Art ASC
    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 !

  6. #6
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Bon en fait c'est pas tout à fait résolu car je n'arrive pas à récupérer les couleurs

    j'ai une autre table menucolors (menu_color,hexa_color) je dois récupérer la couleur de fond
    la jointure se faisant sur MC.menu_color = A.Code_Art ...

    je recupère bien les articles selon la rubrique mais pas la couleur... vide ...
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    SELECT A.Code_Art as CodeArticle,
     
    				A.Desi_Art as Designation,
     
    				A.Desc_Art as Description,
     
    				A.Ico_Toque as Toque,
     
    				A.Ico_Flamme as Flamme,
     
    				A.Ico_Clim as Clim,
     
    				A.Tn_Art as Vignette,
     
    				A.Zm_Art as Zoom,
     
    				A.Fc_Art as  FeuilletCom,
     
    				MC.hexa_color as bgColor,
     
    				COUNT(ar.Code_Art_Acc) 
    as HasAccessoire
     
    FROM Articles A 
     
    LEFT OUTER JOIN menucolors MC ON MC.menu_color = 
     
    A.Code_Art
     
    LEFT OUTER JOIN articlemenufilter AM 
     
    ON AM.Code_filter=A.Code_Art
     
    LEFT OUTER JOIN articleaccessoiresfilter ar 
     
    ON ar.Code_Art_Acc=A.Code_Art
     
    WHERE A.Actif_Art=TRUE AND AM.Rubrique_filter='6' AND 
    AM.Code_filter=A.Code_Art
     
    GROUP BY A.Code_Art
     
    ORDER BY A.Rank_Art ASC
    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 !

  7. #7
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Bon après avoir tout remis à plat ...

    Il fallait juste que je fasse le On sur les bon champs :red:

    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
    17
    18
    19
    20
    21
    SELECT A.Code_Art as CodeArticle,
    				A.Desi_Art as Designation,
    				A.Desc_Art as Description,
    				A.Ico_Toque as Toque,
    				A.Ico_Flamme as Flamme,
    				A.Ico_Clim as Clim,
    				A.Tn_Art as Vignette,
    				A.Zm_Art as Zoom,
    				A.Fc_Art as  FeuilletCom,
    				MC.hexa_color as bgColor,
    				COUNT(ar.Code_Art_Acc) as HasAccessoire
    FROM Articles A 
    LEFT OUTER JOIN articlemenufilter AM 
    ON AM.Code_filter=A.Code_art
    LEFT OUTER JOIN menucolors MC 
    ON MC.menu_color=AM.Rubrique_filter
    LEFT OUTER JOIN articleaccessoiresfilter ar 
    ON ar.Code_Art_Acc=A.Code_Art
    WHERE A.Actif_Art=TRUE AND AM.Rubrique_filter='".$rubrique."' 
    GROUP BY A.Code_Art
    ORDER BY A.Rank_Art ASC
    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 !

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

Discussions similaires

  1. [Carte mère] comment savoir quel PCI je possédes
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 17/06/2012, 10h54
  2. Réponses: 4
    Dernier message: 17/09/2010, 23h40
  3. Réponses: 6
    Dernier message: 18/01/2008, 16h24
  4. Savoir quel composant possède le focus
    Par ero-sennin dans le forum C++Builder
    Réponses: 4
    Dernier message: 18/09/2006, 22h36
  5. Comment savoir quelle fenêtre possède le focus ?
    Par WebPac dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 22/12/2005, 09h59

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