считать из двух таблиц - PullRequest
0 голосов
/ 16 января 2020

У меня есть 2 таблицы, одна bats_req, в которой 96 записей, а другая - master, в которой 24341. Мне нужно сопоставить столбец EMP в обеих таблицах и счетчик печати из таблицы bats_req

неверный подсчет, который я получаю из запроса ниже

select distinct man , cnt
from ( 

select count(*) cnt, f1.EMP man from bats_req f1
join bats f2
on f1.EMP = f2.EMP
group by f1.EMP
) emp

Ответы [ 2 ]

1 голос
/ 16 января 2020

Вверху моей головы, вы должны выполнить левое соединение здесь, и вы также должны посчитать столбец из таблицы на правой стороне соединения:

SELECT f1.EMP man, COUNT(f2.EMP) cnt
FROM bats_req f1
LEFT JOIN bats f2
    ON f1.EMP = f2.EMP
GROUP BY
    f1.EMP;

Я не знаю Я не знаю, каково ваше намерение с внешним подзапросом, но EMP уже должен отличаться, чтобы подзапрос ничего не делал.

0 голосов
/ 16 января 2020

Попробуйте это

SELECT COUNT(*) AS table1Count FROM table1 WHERE someCondition
JOIN?? 

SELECT COUNT(*) AS table2Count FROM table2 WHERE someCondition
CROSS JOIN? subqueries?

SELECT COUNT(*) AS table3Count FROM table3 WHERE someCondition

Цель состоит в том, чтобы вернуть это:

+-------------+-------------+-------------+
| table1Count | table2Count | table3Count |
+-------------+-------------+-------------+
| 14          | 27          | 0           |
+-------------+-------------+-------------+
...