|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre éprouvé
![]() Aurélien GéritsDéveloppeur Web Inscription : mai 2006 Messages : 1 045 ![]() |
Bonjour, je souhaite retourner uniquement les enregistrement qui contiennent une image.
Pour faire cette belle action, je me suis dit tiens faut une condition SQL. J'ai alors entrepris d'utiliser un case dans ma requête mais impossible de faire un simple where sur le résultat. Code :
Citation:
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.AFUP 2009 : Bien optimiser son code pour le référencement Mon projet open source de librairie PHP 5: magix cjquery |
|||
|
00
|
|
|
#2 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Tu ne peux pas référence à un alias dans le WHERE, il faut utiliser HAVING (je me répète aujourd'hui).
De plus, je pense qu'il te suffit d'utiliser un simple JOIN au lieu d'un LEFT JOIN sur la table "mc_catalog_img" pour ne sélectionner que les enregistrements où il y a des images. |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Question con mais pourquoi ne pas faire simplement un test du non null ?
Code sql :
vu que ton case te sert juste à filtrer les valeurs nulles et non nulles ? |
||
|
|
00
|
|
|
#4 | |
![]() ![]() |
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#5 | |||
|
Membre éprouvé
![]() Aurélien GéritsDéveloppeur Web Inscription : mai 2006 Messages : 1 045 ![]() |
Merci à vous,
Citation:
Je viens de tester avec : Code :
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.AFUP 2009 : Bien optimiser son code pour le référencement Mon projet open source de librairie PHP 5: magix cjquery |
|||
|
00
|
|
|
#6 |
![]() ![]() |
Ma question était en rapport avec le besoin exprimé. La jointure externe va ramener tous les produits, y compris ceux qui ne contiennent pas d'image.
Pour les autres jointures, à vous de voir si tout produit est dans un catalogue, dans un catalog_c et dans un catalog_s. Pourquoi trois tables catalog d'ailleurs ? Héritage de tables ? Je vois maintenant que d'après la condition de jointure, l'image semble plutôt s'associer au catalogue qu'au produit non ? Cette jointure ne devrait-elle pas alors être faite entre catalog et catalog_img ? Difficile pour nous de vous aider à optimiser sans schéma de la BDD qui n'est pas forcément évident à déduire à partir de la requête.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Aurélien GéritsDéveloppeur Web Inscription : mai 2006 Messages : 1 045 ![]() |
Effectivement il y a bien un héritage d'ou les tables multiples qui sont entièrement modulable l'une dépend de l'autre mais sans vraiment dépendre.
Pour l'explication : catalog_c contient les catégories catalog_s les sous catégories catalog contient les produits orphelins catalog_product contient uniquement des catalogues qui rend les produits disponible (table de liaisons). Mais comme mon équipe me dit souvent la logique est vraiment bizarre chez toi mais sa fonctionne bien ![]() grand merci, je vais tout de même faire attention avec les LEFT, RIGHT, INNER, NATURAL et JOIN
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.AFUP 2009 : Bien optimiser son code pour le référencement Mon projet open source de librairie PHP 5: magix cjquery |
|
00
|
Copyright © 2000-2012 - www.developpez.com