【发布时间】:2020-01-10 12:23:54
【问题描述】:
表格
TRANSACTIONS
SUPP_ID | PAYMENT
----------+----------
1001 200
1002 100
1005 250
MASTER_SUPPLIERS
SUPP_ID | AREA
----------+----------
1001 ABC
1002 XYZ
1003 TYU
1004 MNO
1005 PQR
意图:
查找未收到付款 (NO_TRANS_CNT) 的供应商数量
SELECT AREA, COUNT(*) AS NO_TRANS_CNT FROM MASTER_SUPPLIERS
WHERE AREA NOT IN (SELECT DISTINCT(AREA) FROM TRANSACTIONS)
GROUP BY AREA
AREA | NO_TRANS_CNT
----------+--------------
TYU 1
MNO 1
想问一下:现在,我也想在这个区域添加TOTAL_SUPPLIERS这个栏目
AREA | TOTAL SUPPLIERS | NO_TRANS_CNT
----------+--------------------+----------------
ABC 1 0
XYZ 1 0
TYU 1 1
MNO 1 1
PQR 1 0
我认为可以使用 JOIN 来实现,但我不知道如何实现?
【问题讨论】:
-
又快又脏:将现有查询用作子查询,将其加入表中。