2016-05-30 3 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; 

Вероятно, вы хотите, чтобы получить подсчет категории идентификаторов (для каждой категории) по трем столбцам (Dx1, Dx2 and Dx3) в Dx table. Если это так, то указанный запрос выполняет задание.

Смежные вопросы