【发布时间】:2011-09-25 18:33:13
【问题描述】:
我需要查找在给定日期之后创建但尚未订购的客户总数。
我有两张桌子:
|客户 | // 还有更多,但仅此而已 +----+------+---------+ // 你需要回答这个问题 |身份证 |姓名 |创建 | +----+------+---------+ |订单 | // 还有更多,但仅此而已 +----+-------------+ // 你需要回答这个问题 |身份证 |客户 ID | +----+--------------+我需要查找在给定日期之后创建但尚未订购的客户总数。
这就是我所做的:
选择计数(*) 来自客户 在customers.ID = orders.customer_id 上左加入订单 WHERE customers.Created > #任意日期# AND orders.ID 为空;我确信这是正确的,但它似乎并没有产生正确的结果。我的意思是我的老板正在查看结果并告诉我,根据经验,未订购的新客户注册数量远远超过此查询产生的数量。
那么我这样做对吗?如果我是,我显然需要看看还有什么可能导致问题。谢谢。
编辑 1
下面的评论表明orders.id 不可为空。可能是这种情况,但是如果我检查 orders.customer_id Is Null 是否会得到相同的结果。
编辑 2
我不想让事情变得过于复杂,但如果您知道我在 Access 数据库中执行此操作可能会很有用,因此我无法使用标准 SQL 允许的所有好东西。 (我已经编辑了标签)
【问题讨论】:
-
我没有看到任何错误。问问你的老板他的经验是从哪里来的:)
标签: sql ms-access join left-join outer-join