Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1170 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Savoir combien de champs sont renseignés parmi 7

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Savoir combien de champs sont renseignés parmi 7

n°2254323
sire de Bo​tcor
Armorican way of life
Posté le 27-03-2015 à 14:52:41  profilanswer
 

Bonjour,
 
      Je dois faire une requête un peu particulière, je me demande si elle est possible en SQL.
 
Dans la base de données, j'ai 7 numéros de téléphone répartis un peu partout dans différentes tables.
Je voudrais savoir le nb de personnes qui ont 1 ou 2 ou 3 ou 4 ou 5 ou 6 numéros de renseignés parmi ces 7 numéros maximum.
Pour le 0 et le 7 je peux le faire assez facilement (personne in () and in () etc et inversement not in).
 
Je me demandais s'il existait un moyen de transformer la "non nullité" d'un champ en 1 et sa "nullité" en 0, puis faire la somme d'une manière ou d'une autre ?
 
Si qqun peut m'aider :jap:


Message édité par sire de Botcor le 27-03-2015 à 14:53:15

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
mood
Publicité
Posté le 27-03-2015 à 14:52:41  profilanswer
 

n°2254331
slew
Posté le 27-03-2015 à 15:12:34  profilanswer
 

Citation :

Je me demandais s'il existait un moyen de transformer la "non nullité" d'un champ en 1 et sa "nullité" en 0, puis faire la somme d'une manière ou d'une autre ?


 
Oui avec un case:
 

Code :
  1. CASE WHEN numero1 IS NOT NULL THEN 1 ELSE 0 END


 
Ensuite tu peux très bien sommer le résultat du case:
 

Code :
  1. sum(CASE WHEN numero1 IS NOT NULL THEN 1 ELSE 0 END)


 
Avec le GROUP BY qui va bien.

n°2254333
sire de Bo​tcor
Armorican way of life
Posté le 27-03-2015 à 15:19:59  profilanswer
 

Merci, je ne connaissais pas ce "CASE" en SQL, je vais me pencher là-dessus :jap:


Message édité par sire de Botcor le 27-03-2015 à 15:20:50

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°2254355
rufo
Pas me confondre avec Lycos!
Posté le 27-03-2015 à 16:30:09  profilanswer
 

Après, vue que tu parles que les champs tél d'une personne sont mis dans différentes tables (encore une BD bien conçu, j'ai l'impression :/), tu peux aussi faire des LEFT JOIN et compter les valeurs non nulles obtenues. mais sans MCD, difficile de te donner une réponse plus précise...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Savoir combien de champs sont renseignés parmi 7

 

Sujets relatifs
hote MySQL // resolu"Scinder" une colonne en deux MySql
Actualisation automatique de lignes avec MySQLequivalence mysql_escape_string en PDO
Convertir moteur recherche mysql_ en PDOSavoir vitesse internet de son serveur
Importation cvs dans mysql[RESOLU][PHP][MYSQL]requête Mysql (INSERT)
Remplir champsavant de soumettre un formulaire Outlook: formulaire personnalisé: accéder aux champs préprogrammés
Plus de sujets relatifs à : [MySQL] Savoir combien de champs sont renseignés parmi 7


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR