2010-10-18 4 views
0

J'ai une requête qui récupère des données, parmi celles-ci, j'en ai qui sont retournées avec une valeur comme 0 Je voudrais que la requête ne retourne pas les colonnes quand c'est le cas.SQL (mysql) - Si une ligne donnée sur une colonne donnée comme une certaine valeur, ne pas énumérer cette colonne

Comment pouvons-nous faire une telle chose?

Cordialement, MEM

+0

ne retourne pas les colonnes ou les lignes? –

+0

Nous aurons toujours un seul enregistrement retourné. Disons que nous avons plusieurs colonnes pour cet enregistrement et sur une de ces colonnes nous avons la valeur 0.00. Si c'est le cas, excluez cette colonne de la liste. – MEM

Répondre

1

sélectionnez <column_name> de <table_name><column_name> <> 0.0

Voici toutes les données dans une base de données de l'échantillon. Remarquez comment il y a 3 lignes dont une avec une valeur nulle pour la colonne num.

mysql> select * from test_tbl; 

    +------+----------+ 
    | num | some_str | 
    +------+----------+ 
    | 0 | matt  | 
    | 2 | todd  | 
    | 3 | Paul  | 
    +------+----------+ 
    3 rows in set (0.00 sec) 

permet maintenant d'utiliser la clause where pour spécifier les lignes que nous voulons ignorer (il est un peu de logique inverse parce que nous spécifions en fait ce que les lignes que nous voulons).

mysql> select * from test_tbl where num <> 0.0; 
    +------+----------+ 
    | num | some_str | 
    +------+----------+ 
    | 2 | todd  | 
    | 3 | Paul  | 
    +------+----------+ 
    2 rows in set (0.00 sec) 

Remarque: Cela ne fonctionnera sans se salir si 0 est la seule valeur que vous êtes inquiet. Une meilleure façon serait d'autoriser les valeurs nulles dans votre colonne et ensuite vous pouvez vérifier si elles sont non nulles dans la clause where.

+0

Est-ce que mysql a excepté? – MEM

Questions connexes