Selectionner tous les champs sauf si vides

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
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

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
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]
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
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.
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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.
à+