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

Langage SQL Discussion :

Sélectionner les lignes où toutes les colonnes sont remplies


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut Sélectionner les lignes où toutes les colonnes sont remplies
    Bonjour à tous,

    Dans une de mes tables j'ai certaines colonnes qui sont vierge, et j'aimerai sélectionné les lignes de ma table où toutes les colonnes ont une valeur ou étant à nulle (donc je ne veux pas celle où il y a un blanc).

    Une idée de requête?

    Voici en PJ un exemple des valeurs du tableau, j'aimerai pour cette exemple gardait la première ligne et non la deuxième.

    Merci d'avance
    Images attachées Images attachées  

  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,

    Vous pouvez faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT *
    FROM LaTable
    WHERE '' NOT IN (
        COALESCE(Colonne1, 'x'), 
        COALESCE(Colonne2, 'x'), 
        COALESCE(Colonne3, 'x'),
        ...
    )

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Merci j'ai juste cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Échec de la conversion de la valeur varchar «x» en type de données int.

  4. #4
    Membre du Club Avatar de Arunna
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 54
    Points
    54
    Par défaut
    Pour simplifier ,tu a un champ de type variable (texte + chiffre) que tu compare avec un champ numérique.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Bonjour, merci de ton aide mais il y a encore l'erreur qui cette fois ce répète plusieurs fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 207, Level 16, State 1, Line 13
    Nom de colonne non valide*: 'x'.
    Col 1 : varchar(50)
    Col 2 : float
    Col 3 : float
    Col 4 : varchar(50)
    Col 5 : float
    Col 6 : float
    Col 7 : float
    Col 8 : varchar(50)
    Col 9 : varchar(50)
    Col 10 : int

  6. #6
    Membre du Club Avatar de Arunna
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 54
    Points
    54
    Par défaut
    Peux tu poster la requête que tu joue , et le type de champ de ta table ?

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT *
    FROM DEC_2011_TV
    WHERE '' NOT IN (
         COALESCE(Col1, x), 
        COALESCE(Col2, x), 
        COALESCE(Col3, x),
        COALESCE(Col4, x), 
        COALESCE(Col5, x), 
        COALESCE(Col6, x),
        COALESCE(Col7, x), 
        COALESCE(Col8, x), 
        COALESCE(Col9, x),
        COALESCE(Col10, x) 
    )
    Col1 : varchar(50)
    Col2 : float
    Col3 : float
    Col4 : varchar(50)
    Col5 : float
    Col6 : float
    Col7 : float
    Col8 : varchar(50)
    Col9 : varchar(50)
    Col10 : int

  8. #8
    Membre du Club Avatar de Arunna
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 54
    Points
    54
    Par défaut
    dsl je me suis trompé dans ma première réponse


    essaye comme sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT *
    FROM DEC_2011_TV
    WHERE '' NOT IN (
         COALESCE(idcr00, ''), 
        COALESCE(MATREST,''), 
        COALESCE(AGE, ''),
    COALESCE(DUREE, ''), 
        COALESCE(MONTANT, ''), 
        COALESCE(TMM, ''),
    	COALESCE(ECTAUX, ''), 
        COALESCE(CRD, ''), 
        COALESCE(MENSU, ''),
    	COALESCE(RA, '') 
    )

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Presque Parfait!

    Enfaite dans la conne RA (col10) j'ai soit 1 soit NULL et maintenant je n'ai que les RA où il y a 1 dans la colonne, je veux ceux de NULL aussi

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Parfait,

    j'ai enlevé la dernière instruction sur la colonne.

    Merci

  11. #11
    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,

    inutile de mettre les colonnes de type INT ou FLOAT ou autre type numérique dans le test. je vous garantit qu'il n'y a absolument aucune chance que vous y trouviez... une chaine vide !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/09/2014, 12h27
  2. Réponses: 1
    Dernier message: 15/06/2014, 10h07
  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. [XL-2003] copier toutes les lignes concernées et les coller dans un autre onglet
    Par spacesheep dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2009, 15h40
  5. Réponses: 1
    Dernier message: 22/07/2007, 22h07

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