SQL Server - Как получить все отдельные значения в группе по столбцу из двух таблиц и подсчитать из другой таблицы для каждого значения - PullRequest
0 голосов
/ 21 мая 2019

У меня есть 3 таблицы, в которых 2 таблицы являются основными, а 3-я является таблицей транзакций.мне нужно получить счет из таблицы транзакций для каждого значения в двух других таблицах без потери строк в материнской таблице

мне нужен результат, как показано ниже

макет таблицы для понимания

Это код, который я пробовал,

select s.status_name, e.machine_group_name, qty = COALESCE(COUNT(e.id),0) 
from tbl_status s
left outer JOIN tbl_transaction as e ON e.status_name = s.status_name
group by e.machine_group_name, s.status_name

Это решение, которое я вычислил:

select m.machine_group_name, s.status_name, qty = COUNT(e.id) from 
tbl_machine_group as m
cross join tbl_status as s
left outer join tbl_transaction as e on e.status_name = s.status_name
and e.machine_group_name = m.machine_group_name
group by m.machine_group_name, s.status_name
order by machine_group_name

1 Ответ

0 голосов
/ 21 мая 2019
    select 
        MC_Group_Name
        ,Status_Name
        ,count(1) as [Count of Transaction]
    from 
        tbl_Transaction tbl_3
        left join tbl_Machine_Group tbl_1 
            on tbl_3.MC_Group_Name = tbl_1.MC_Group_Name
        left join tbl_Status tbl_2 
            on tbl_3.Status_Name = tbl_2.Status_Name
    group by 
        MC_Group_Name
        ,Status_Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...