Как объединить два значения 'count' из разных таблиц (2 столбца, НЕ объединение)

Я хочу получить количество добавленных записей пользователем в 2 таблице. например, у меня есть список пользователей (таблица STF), и я хочу знать, сколько продуктов создал пользователь (в таблице PV1) и сколько продуктов он продал (в таблице dpq), я хочу показать эти данные, как показано ниже:

У меня есть эти 2 запроса, и я не знаю, как показать их в одной таблице с 3 столбцами...

Запрос 1:

select staff_username,  COUNT(*)  as 'count 1'
from STF right join PV1 on STF.staff_username = PV1.admit_user
group by staff_username, staff_name + ' ' + staff_family

Запрос 2:

select trf_staff_id, COUNT(trf_staff_id)
from dpq join stf on trf_staff_id = stf.staff_username
group by trf_staff_id

2 ответа

Решение

Вы можете попробовать объединить два запроса, как это. Из предоставленной вами ограниченной информации кажется, что staff_username совпадает с trf_staff_id, так как вы использовали его в состоянии соединения второго запроса.

SELECT
    staff_username,
    count_1,
    count_2 FROM
    (
        SELECT
            staff_username,
            COUNT(*) AS count_1
        FROM
            STF
        RIGHT JOIN
            PV1
        ON
            STF.staff_username = PV1.admit_user
        GROUP BY
            staff_username,
            staff_name + ' ' + staff_family ) QRY_CNT_1 INNEER JOIN
    (
        SELECT
            trf_staff_id,
            COUNT(trf_staff_id) AS count_2
        FROM
            dpq
        JOIN
            stf
        ON
            trf_staff_id = stf.staff_username
        GROUP BY
            trf_staff_id ) QRY_CNT_2 ON
    QRY_CNT_2.trf_staff_id = QRY_CNT_1.staff_username

Я думаю, вы хотите совместить два стола count,Вы могли бы join и добавить count

но вы даете нам меньше информации, поэтому я не уверен.

SELECT
    STF.staff_username,
    STF.Data_in_PV1,
    dpq.Data_in_dpq
FROM
(
    SELECT
        staff_username,
        COUNT(PV1.admit_user) AS 'Data_in_PV1'
    FROM
        STF
    RIGHT JOIN
        PV1
    ON
        STF.staff_username = PV1.admit_user
    GROUP BY
        staff_username
) STF 
INNER JOIN
(
    SELECT
        dpq.trf_staff_id,
        COUNT(trf_staff_id) AS 'Data_in_dpq'
    FROM
        dpq
    INNER JOIN
        stf
    ON
        dpq.trf_staff_id = stf.staff_username
    GROUP BY
        dpq.trf_staff_id 
) dpq ON dpq.trf_staff_id = STF.staff_username
Другие вопросы по тегам