【发布时间】:2015-04-03 00:54:29
【问题描述】:
我正在尝试在 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: 无效的表名
显然这是行不通的。请帮忙!
【问题讨论】:
-
where 子句前有一个逗号。另外我认为您可能需要外部连接。
-
本题查询部分应为代码格式
-
您也有 order.order_num 以及 FROM 订单,您必须直接获取表名。这会导致错误。但是您还必须按照 T I 固定逗号
-
@Michael,另外,添加到 T I 的响应中,如果您有内部联接,则查询正在寻找将客户编号主键连接到订单号外键(连接到 cust 表)。如果客户没有任何订单,他们将不会出现在订单表中,除非您的数据库出现问题。获得正确的外连接(或右连接),您可以执行 where NULL 条件。
-
@Michael,一条忠告,搜索一张 sql join 的图片,打印出来,学习的时候放在身边。