Selectionner tous les champs sauf si vides

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 12 août 2006 à 18:26
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 14 août 2006 à 12:42
Bonjour à tous,

je me demandais s'il y avait un moyen de sélectionner, pour un enregistrement  donné de la base, uniquement ses champs non vides.
C'est facile quand on spécifie quels champs ne doivent pas être vides, mais je voudrais que ce soit automatique vu que j'ai des centaines de champs, et ça je n'ai pas trouvé.
Un truc du genre :

SELECT* as champ
FROM`enquete2006`
WHEREchamp NOT NULL

mais dans une version qui marche bien sûr
merci.

4 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
12 août 2006 à 22:18
Hello...
j'ai peut etre un idée:
si tu concatene les champs ?

faut essayer (ai pas d'acces a une DB là..), un truc du genre
SELECT concat(*) as c FROM .... WHERE c !='';

juste une idée....
-------------------------------------

Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
13 août 2006 à 12:17
Salut,
jen'ai pas non plus de db là mais je ne pense pas que ça marche : ça me renverrait juste les entrées qui ont au moins un champ non nul...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
14 août 2006 à 05:51
hello,

j'arrive plus à dormir, mais il est qd meme 5h50 donc je garantis pas  ma fraicheur,  mais davwart a de l'idée, c juste incomplet  :
select * from table where id in (select id from table where concat (*) != '')

mais doit y avoir plus simple et plus propre.
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
14 août 2006 à 12:42
Hello, merci à vous deux, mais je ne suis pas sûr de vous suivre... pourquoi un concat ?
Par exemple Malalam, je ne vois pas ce que représente cet "id".
Peut-être que je me suis mal exprimé sur ce que je voulais ?

Par exemple si j'ai dans ma base :

nom => 'Dupont', prenom => 'Jean', surnom => ''

je voudrais que ma requête me renvoie juste nom et prénom.
Ma requete porte sur un enregistrement unique, heureusement.
Pour l'instant je prends tous les champs et je supprime ceux qui sont vides avec array_diff.
à+
0
Rejoignez-nous