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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête SQL : comptage des colonnes avec une valeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête SQL : comptage des colonnes avec une valeur

n°1837889
Thordax
Shop smart. Shop S-Mart !
Posté le 14-01-2009 à 15:47:49  profilanswer
 

Bonjour,
 
Je souhaite faire une requete SQL permettant de me donner le nombre de colonnes d'une ligne de valeurs pour lesquelles le contenu est différent de A.
 
Exemple :
 
Colonne :        
 
Index Nom Prénom Age Sexe Ville Taille Poids
1 Pierre 15 M Tours 176 65
2 Sophie 14 F Briançon A A
 
Pour la ligne d'index 1 : il n'y a aucune ligne avec la valeur A => résultat de ma requête à créer = 0.
Pour la ligne d'index 2 : Il y a deux A dans cette ligne => résultat = 2.  
 
Comment faire pour compter ces deux 'A' en question ? :d
 
Merci pour vos réponses :hello:


Message édité par Thordax le 14-01-2009 à 15:48:37

---------------
Atari 520 ST 256 Ko
mood
Publicité
Posté le 14-01-2009 à 15:47:49  profilanswer
 

n°1840735
aideinfo
Posté le 20-01-2009 à 21:10:47  profilanswer
 

Ton explication n'est pas très compréhensive. En tout cas, tu ne peux pas compter le nombre de A présent dans un enregistrement (je pense que c'est ce que tu appelles une ligne de valeurs).


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1840902
omega2
Posté le 20-01-2009 à 23:07:47  profilanswer
 

Thordax > Qu'elle base de donnée? En tout cas tu peux t'attendre à avoir droit à une requête super longue et répétitive vu que les opérations de tests seront à répéter pour chaque colonne à tester.

n°1840956
macgawel
Posté le 21-01-2009 à 10:01:56  profilanswer
 

omega2 a écrit :

Thordax > Qu'elle base de donnée? En tout cas tu peux t'attendre à avoir droit à une requête super longue et répétitive vu que les opérations de tests seront à répéter pour chaque colonne à tester.


+ 1
 
SQL est un langage de traitement de Bases de Données Relationnelles.
Par définition, les "colonnes" sont sensées n'avoir aucun rapport, et donc rien n'est prévu pour faire un travail sur plusieurs colonnes.
 
La solution la plus simple, ce serait d'utiliser un programme en surcouche.
Exemple (parce que, là, je ne suis pas très clair) : PHP.
=> Tu fais une requête qui va chercher les enregistrements dans lesquels un des champs est égal à 'A', puis tu traites avec PHP (ou autre) pour compter, dans chaque enregistrement, le nombre de champs à 'A'...
 
sinon, voir suivant le SGBD utilisé : on peut peut-être rajouter un champ calculé qui vaut 'nombre de colonnes égales à A'

n°1840961
Tibar
Posté le 21-01-2009 à 10:07:28  profilanswer
 

Salut,
 
Sinon, tu concatènes tout tes champs avec le +
 
SELECT Nom +Prenom + ....
FROM
 
après, il faudrait que tu développes une petite fonction dans ton SGBD, du genre CompteA(str) int, à laquelle tu passes une chaîne de caractère et qui te retourne le nombre de A qu'il y a dans cette chaîne (ça se fait assez bien dans une fonction), et après, tu fais :  
 
SELECT CompteA(Nom +Prenom + ....)
FROM ...
WHERE ...
 
Bon courage,

n°1841367
Thordax
Shop smart. Shop S-Mart !
Posté le 21-01-2009 à 22:50:02  profilanswer
 

Salut, j'ai eu une réponse claire et précise ici :
 
http://www.developpez.net/forums/d [...] nt-donnee/
 
Des fois que ça puisse aider à quelqu'un...


---------------
Atari 520 ST 256 Ko
n°2123528
DantesShad​ow
Posté le 26-01-2012 à 22:42:46  profilanswer
 

Voici un exemple de commande qui fait je crois quelque chose de similaire à ce dont tu parle.  
Faudra seulement que tu remplace les 1 par une façon de déterminer si les chaines contienne des 'A'.
 
SELECT AA.ID_OPERATION
FROM (SELECT ID_OPERATION
      FROM CC_OPERATION_PT  
      WHERE CODE_ALTERNATIVE = 1
      UNION ALL
      SELECT ID_OPERATION
      FROM CC_OPERATION_PT
      WHERE CODE_OBLIGATOIRE = 1
      UNION ALL
      SELECT ID_OPERATION
      FROM CC_OPERATION_PT
      WHERE CODE_SOUS_TRAITEE = 1
      UNION ALL
      SELECT ID_OPERATION
      FROM CC_OPERATION_PT
      WHERE CODE_SOUS_TRAITEE = 1) AA
GROUP BY AA.ID_OPERATION
HAVING COUNT(AA.ID_OPERATION) > 1

n°2123752
Thordax
Shop smart. Shop S-Mart !
Posté le 27-01-2012 à 23:18:02  profilanswer
 

3 ans plus tard [:implosion du tibia]


---------------
Atari 520 ST 256 Ko

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

  Requête SQL : comptage des colonnes avec une valeur

 

Sujets relatifs
[ACCESS]Difficulté d'execution d'une requete[C++] RESOLU - Imprimer la valeur d'un pointeur sans le prefixe 0x?
faire une requete sql avec incrémentationAccès à une valeur sans intermédiaire?
Requete GROUP BY ou DISTINCT ou impossible a faire ?SQL / PHP Afficher toutes les colonnes d'une table
[ACCESS / Requêtes SQL] Help !Importation des données depuis SQL vers EXCEL
[SGBD/SQL] probleme d'espace oracle8i 
Plus de sujets relatifs à : Requête SQL : comptage des colonnes avec une valeur


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