2016-05-30 7 views
2

Je souhaite trouver dans Dx1, Dx2, Dx3 le nombre de fois que la même catégorie et le même groupe ont répété le nom de la catégorie.Compte sur plusieurs colonnes

Tableau Catégories:

ID Name 
1 A 
2 B 

Tableau Dx:

ID Dx 1 Dx 2 Dx 3 
1 1  1  1 
2 1  1  2 

requête Résultat:

Category_name Count_dx* 
A    5 
B    1 

Merci.

+1

Quelle est votre question? – Daan

+0

Ça irait mieux. Si vous montrez votre requête * Essayé * –

+0

vous êtes invités à empiler débordement. S'il vous plait, éditez votre question en nous montrant ce que vous avez essayé jusqu'ici et où vous êtes bloqué. Ce n'est pas un "code d'écriture sur demande". Prenez quelques minutes [tour] (http: // stackoverflow/tour) pour apprendre comment fonctionne ce site. –

Répondre

1

Je donne la réponse bien que votre question semble implicite.

SELECT 
Categories.Name, 
COUNT(*) AS Count_dx 
FROM Categories 
INNER JOIN 
(
    SELECT 
    Dx1 dx_val 
    FROM Dx 

    UNION ALL 

    SELECT 
    Dx2 dx_val 
    FROM Dx 

    UNION ALL 

    SELECT 
    Dx3 dx_val 
    FROM Dx 
) AS t 
ON Categories.ID = t.dx_val 
GROUP BY t.dx_val; 

Probablement vous voulez obtenir le nombre des ID de catégorie (pour chaque catégorie) dans les trois colonnes (Dx1, Dx2 and Dx3) dans Dx table. Si oui, la requête ci-dessus fait le travail.