selectionner tout les enregistrement non null d'une table mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : selectionner tout les enregistrement non null d'une table mysql

par BeRoots » 07 déc. 2007, 21:37

ok j'ai fait cela sur trois table (une par colonne) et c'est un tantinet plus light :)

je fait donc des UNION de requete SELECT sur ces 3 tables et tous fonctionne à merveille :D

merci du coup de pouce ;)

par Hubert Roksor » 07 déc. 2007, 16:09

Sûrement quelque chose comme

Code : Tout sélectionner

SELECT COALESCE(col1, col2, col3) FROM table_test
Ceci dit, ton schéma n'est pas le meilleur, tu devrais avoir 3 tables pour ne stocker que les relations qui ont un sens plutôt que d'avoir une table remplie aux 2/3 de NULL.

selectionner tout les enregistrement non null d'une table my

par BeRoots » 07 déc. 2007, 15:45

salut à tous :)

j'ai une table MYSQL qui contient 4 colonnes comme suit:

Code : Tout sélectionner

CREATE TABLE table_test( `id` int UNSIGNED AUTO_INCREMENT, `col1` VARCHAR(50) DEFAULT NULL, `col2` VARCHAR(200) DEFAULT NULL, `col3` VARCHAR(50) DEFAULT NULL, PRIMARY KEY (id) ) TYPE = MYISAM CHARACTER SET latin1 COLLATE latin1_general_ci;
Je sais que pour chaque enregistrement, seul une de ces 3 colonnes contient une valeur (les deux autres sont à null).

mon objectif est de recuperer via une requete select, toutes les valeur NOT NULL de ma table...

j'ai essayé ceci mais mon probleme est que j'aimerai, plutot que compter, recuperer toutes les valeur NOT NULL pour une seul clé du tableau de sortie de la requete (ici kiwi) :-k

Code : Tout sélectionner

SELECT COUNT(*) AS kiwi FROM `table_test` WHERE col1 IS NOT NULL OR col2 IS NOT NULL OR col3 IS NOT NULL
N'y a t'il pas moyen de definir une requete qui me retournerai toutes les valeurs NOT NULL uniquement, sans limit et recuperable dans par une seul clé de tableau?

merci d'avance pour votre aide ;)