查询关联子表含Pending状态的主表数据并统计待处理项数
关联交易表与明细表的查询方案
表结构说明
交易表(transactions)
ID Customer Total ---------------------------------- 1 Chris $100 2 John $249 3 Kim $20
交易明细表(transaction_details)
ID Item Status --------------------------------------- 1 Phone Pending 1 Computer Pending 3 Calculator Released
查询需求
筛选交易表中关联的交易明细表存在Pending状态商品的记录,同时统计每条符合条件交易对应的Pending商品数量,期望输出:
ID Customer Total_Pending_Count ---------------------------------------- 1 Chris 2
实现SQL语句
SELECT t.ID, t.Customer, COUNT(td.ID) AS Total_Pending_Count FROM transactions t INNER JOIN transaction_details td ON t.ID = td.ID WHERE td.Status = 'Pending' GROUP BY t.ID, t.Customer;
逻辑说明
- 用
INNER JOIN按交易ID关联两张表,自动排除没有匹配Pending商品记录的交易 WHERE子句精准筛选明细表中状态为Pending的商品GROUP BY按交易ID和客户分组,通过COUNT统计每组内的Pending商品数量
内容的提问来源于stack exchange,提问作者chris_techno25
相关产品推荐
相关产品推荐

