8 votes

SQL COUNT Rows Résultat dans des colonnes séparées

Je l'utilise actuellement pour compter le nombre de lignes d'un tableau et cela fonctionne bien pour ce dont j'ai besoin.

SELECT COUNT(*) AS STCount 
  FROM  (SELECT Distinct DPoint, RNum 
           FROM ECount  
          WHERE DType = 'STR' AND Month(EDate) = '07') AS rows

Le seul problème que j'ai, c'est que je dois répéter cette déclaration à plusieurs reprises en ne modifiant que quelques éléments à chaque fois. J'aimerais que ces sélections de l'Union soient affichées dans une colonne distincte. L'exemple ci-dessous permet d'obtenir les résultats mais les place tous dans la même colonne. Une idée pour les faire apparaître dans leur propre colonne, une pour STCount et NCCount ?

SELECT COUNT(*) AS STCount 
  FROM (SELECT Distinct DPoint, RNum 
          FROM ECount  
         WHERE DType = 'STR' AND Month(EDate) = '07') AS rows 
 UNION 
SELECT COUNT(*) AS NCCount 
  FROM (SELECT Distinct DPoint, RNum 
          FROM ECount  
         WHERE DType = 'NCD' AND Month(EDate) = '07') AS rows

le résultat serait,

STCount NCCount
  100     202

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X