2016-05-30 4 views
2

私はDx1, Dx2, Dx3で見つけたいと思っています。同じカテゴリとグループがカテゴリの名前を繰り返す回数を加算してください。複数の列にまたがる数

表カテゴリー:

ID Name 
1 A 
2 B 

表Dxを:

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

結果クエリ:

Category_name Count_dx* 
A    5 
B    1 

感謝。

+1

あなたの質問は何ですか? – Daan

+0

それは良いでしょう。あなたの*試しクエリ* –

+0

を表示する場合は、オーバーフローをスタックすることを歓迎します。あなたの質問を編集して、あなたがこれまでに試したこと、そしてどこで立ち往生しているのかを教えてください。これは「オンデマンドコードを書く」ではありません。このサイトの仕組みを知るには、数分[ツアー](http:// stackoverflow/tour)をご覧ください。 –

答えて

1

あなたの質問は暗黙のようですが、私は答えを出しています。

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; 

おそらくあなたはDx tableに3つの列(Dx1, Dx2 and Dx3)間で(各カテゴリの)カテゴリIDの数を取得したいです。その場合は、上記のクエリがジョブを実行します。

関連する問題