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 :

Lister toutes les lignes même si elles ne sont pas existantes


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 91
    Points : 133
    Points
    133
    Par défaut Lister toutes les lignes même si elles ne sont pas existantes
    Bonjour,

    Je cherche à avoir une liste sur une seule table.
    Le résultat doit me donner toutes les lignes , même si la ligne est vide ( pas de résultat).
    les produits g01, g02,g03 existent, mais pas ggg.

    J'ai essayez plusieurs choses, mais je n'y arrive pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT COALESCE( NULLIF( product_id,  '' ) ,  '0' ) AS  'id'
    FROM  `#_products` 
    WHERE product_sku
    IN (
    'g01',  'ggg','g02','g03'
    )
    LIMIT 0 , 30
    me renvoi uniquement la liste des g01,g02,g03

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT CASE WHEN product_id is null OR product_id = ''  THEN 'N'
    ELSE product_id
    END AS result
    FROM  `#_products` 
    WHERE product_sku
    IN (
     'g01',  'g02',  'ggg',  'g03'
    )
    LIMIT 0 , 30
    Me donne pareil

    J'ai essayé avec un count en sous requête, mais avec le WHERE IN, il me bloque au premier résultat

    Ou est ce que je me trompe ?

    Merci

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    SELECT COALESCE( NULLIF( product_id,  '' ) ,  '0' ) AS  'id'
    FROM  (
        SELECT 'g01' AS i
        UNION ALL SELECT  'g02'
        UNION ALL SELECT  'ggg'
        UNION ALL SELECT  'g03'
    ) AS T
    LEFT JOIN `#_products` 
        ON produci_id = i
    LIMIT 0 , 30

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 91
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    Ah oui! je ne connais pas cette façon.
    Et apparement, le résultat est assez rapide.
    Ca marche très bien, je te remercie.

    Merci !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/07/2012, 14h35
  2. Réponses: 0
    Dernier message: 14/08/2010, 13h27
  3. Lister toutes les lignes de toutes les tables
    Par méphistopheles dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/07/2010, 18h23
  4. Toutes les valeurs d'une requête ne sont pas traitées
    Par Lunaden dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/06/2008, 16h03
  5. récupérer toutes les lignes (même nulles)
    Par aurelie83 dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/02/2008, 09h01

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