php mysql: подсчитать количество элементов, которых нет в другой таблице - PullRequest
0 голосов
/ 18 мая 2018

У меня сейчас есть такая таблица

table a
==============
pid |   block
--------------
1   |   1
2   |   1
3   |   2
4   |   3
5   |   2
6   |   3
--------------

table b
==============
cid |   pid
--------------
1   |   1
2   |   3
3   |   5
--------------

output (count each block who no exist on table b)
===================
block   |   total
-------------------
1       |   1 <--- because on table b exist 1 from 2
2       |   0 <--- because on table b exist 2 from 2
3       |   2 <--- because on table b not exist
-------------------

Так что в основном мне нужно подсчитать, сколько блоков не представлено в таблице b, но присутствует в таблице a, и отсортировать их по имени блока,Является ли это возможным?потому что мне нужен результат подсчета для отображения в виде диаграммы

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы можете использовать следующий SQL:

select outera.block , count(outera.block)- (select count(b.pid) from a left join b on a.pid=b.pid  where a.block=outera.block
 group by a.block) as acount  
from a as outera group by outera.block;

Пожалуйста, дайте мне знать, работает ли он или нет.Спасибо.

0 голосов
/ 18 мая 2018
select a.block
, 2 - count(distinct b.cid) 
from a
left join b on a.pid = b.pid
group by 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...