sql - Access 查询中的返回值
问题描述
我需要有关 Access 中的查询的帮助。我需要返回截至今天为止的过去 14 天内拥有三个或更多订单且仍处于活动状态的客户名称。它还应该在结果中显示订单日期。这将填充在报告中并按“cusname”分组并显示每个“orderdate”。我尝试使用查询向导并输入下面的 sql,但它没有填充任何结果。有人可以帮忙吗?
Select customerid, count(*), cusname,orderdate,orderstatus
From tablename
Where orderstatus="active"
Group by customerid,cusname,orderdate,orderstatus
Having Count(*) >=3;
桌子:
CusName:|orderdate:
Mary 4/4/2021
Mary 4/3/2021
Mary 4/8/2021
Mary 3/23/2021
Bob 4/9/2021
Bob 4/1/2021
我期望的结果是:
桌子:
Customerid:|CusName:|orderdate:
1 Mary 4/4/2021
1 Mary 4/3/2021
1 Mary 4/8/2021
解决方案
尝试这个
SELECT t.customerid,
t.cusname,
t.orderdate,
t.orderstatus
FROM tablename AS t
WHERE t.orderstatus = "active"
AND t.orderdate > Dateadd("d", -14, DATE())
AND (SELECT Count(t1.cusname)
FROM tablename AS t1
WHERE t.customerid = t1.customerid
AND t1.orderstatus = "active"
AND t1.orderdate > Dateadd("d", -14, DATE())) >= 3
推荐阅读
- reactjs - 映射数组和渲染结果
- python - multiprocessing.Queue 间歇性失败。Python中的错误?
- php - Laravel 5.1 发送 gmail 的错误电子邮件可在本地工作,但不能在服务器上工作
- ios - iOS 应用上传到 iTunes Connect 导致签名无效问题
- jquery - 试图等待多个 ajax 请求
- azure - 将 Microsoft Bot DirectLine API 指向插槽实例
- email - 从 grails 发送邮件不起作用
- javascript - 带有 ID 数组的 Find() 不起作用
- git - Git合并导致不合理的冲突
- jestjs - 开玩笑 - 我如何为多个 SUT 使用相同的测试套件