COUNT个查询问题

时间:2015-04-03 00:54:29

标签: sql database oracle count

我试图在Oracle中编写一个查询,用于计算未下订单的客户数量。

以下是我一直在使用的代码:

SELECT
    COUNT(customer_num)
FROM 
    orders 
INNER JOIN 
    customer ON orders.order_num = customer.customer_num,
WHERE 
    order.order_num IS NULL;

这是错误消息:

  

ORA-00903:表名无效

显然这不起作用。请帮忙!

2 个答案:

答案 0 :(得分:0)

Select COUNT(customer_num) 
FROM customer LEFT JOIN orders ON customer.customer_num = orders.order_num  
WHERE orders.order_num is NULL;

那里有昏迷,不应该在那里而WHERE orders.order_num缺少一个" s"。你还有一张复数形式的表,另一张不是。也许它的表customers而不是customer

我认为LEFT JOIN也可以更好地实现您想要实现的目标

编辑:看看这个SQL statement to get all customers with no orders

答案 1 :(得分:0)

Select COUNT(customer_num) 
FROM orders 
right JOIN customer 
ON orders.order_num = customer.customer_num
where orders.order_num is NULL;

此外,您的客户是单数,您的订单是复数,这可能会使您在撰写查询时感到困惑。