Работает ли это:
create table customers
(
customerNumber int,
customerName varchar(50)
);
create table orders
(
orderNumber int,
status varchar(10),
customerNumber int
);
insert into customers values(1, 'A');
insert into customers values(2, 'B');
insert into orders values(101, 'Active', 1);
insert into orders values(102, 'On Hold', 1);
insert into orders values(103, 'On Hold', 1);
SELECT
customers.customerNumber,
count(orders.customerNumber) as 'Orders On Hold'
FROM
customers
LEFT JOIN orders ON
customers.customerNumber = orders.customerNumber
and orders.status = 'On Hold'
GROUP BY customers.customerNumber
Возвращает:
customerNumber Orders On Hold
============== ==============
1 2
2 0