Compter le nombre de colonnes not null
Bonjour,
j'ai beau chercher sur google net sur le forum, je n'arrive pas à trouver la bonne requête à faire.
Voici le descriptif de la table sur lequel je veux travailler:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
id 1 0 NO int 10 0
titre 2 '' NO varchar
date_pub 3 current_timestamp() NO timestamp
texte 4 NO text
pj_1 5 NULL YES varchar
pj_2 6 NULL YES varchar
pj_3 7 NULL YES varchar
is_enabled 8 NO tinyint 3 0
id_user 9 0 NO int 10 0
id_instance 10 0 YES int 10 0 |
je cherche a faire une requête qui compte le nombre colonne pj_1,pj_2e t pj_3 qui soient not null pour un id précis.
j'ai essayé de me baseé sur les réponse :
https://www.developpez.net/forums/d1...-count-select/ et https://www.developpez.net/forums/d2...s-same-values/
mais je n'obtient des erreurs ou alors un resultat non pertinant
par exemple la requete faite omme ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| select sum
( case when PJ_1 is not null then 1 else 0 end ) as nombre1
from news
where id=56)
union all
(case when PJ_2 is not null then 1 else 0 end ) as nombre2
from news
where id=56
)
; |
me renvoie l'erreur suivante :
Code:
1 2 3 4
| You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
union all
(case when PJ_2 is not null then 1 else 0 end ) as nombre2
from news' at line 4 |
j'ai réussi a faire la requete suivante:
Code:
1 2 3 4 5 6
| select count(case when pj_1 is not null then 1 end),
count(case when pj_2 is not null then 1 end),
count(case when pj_3 is not null then 1 end)
from news
where id =56
; |
cela me renvoi le résultat suivant:
alors que je voudrais avoir 3 comme résultat.
j’espère que mon descriptif de ma demande est assez claire.
avez vous une idée comment je peux corriger mes erreurs?
merci par avance pour votre aide.