希望你们一切都好。我需要查询。请帮我解决这个问题。
这是场景。我们有两张桌子
- 顾客
- 订单
我只想得到那些在过去三个月内没有订购任何东西的客户
请帮助我。我卡住了。提前致谢
希望你们一切都好。我需要查询。请帮我解决这个问题。
这是场景。我们有两张桌子
我只想得到那些在过去三个月内没有订购任何东西的客户
请帮助我。我卡住了。提前致谢
在不知道您的确切数据结构的情况下,我猜测以下内容:
Select CustomerCode,
CustomerName
From dbo.Customers
where CustomerCode Not in (
Select CustomerCode
From dbo.Orders
Where OrderDate > Cast(Floor(Cast(dateAdd(Month,-3, GetDate()) as Float))as DateTime)
)
SELECT customer_number
FROM Customers
EXCEPT
SELECT customer_number
FROM Orders
WHERE DATEADD(MONTH,-3, CURRENT_TIMESTAMP) < order_date;
;WITH CTE_LastOrder (CustomerId, LastOrderDate) As
(
SELECT CustomerId, MAX(OrderDate) LastOrderDate
FROM Orders
GROUP By CustomerId
)
SELECT * from Customers C
JOIN CTE_LastOrder LO ON C.CustomerId = LO.CustomerId
WHERE LO.LastOrderDate > Cast(Floor(Cast(dateAdd(Month,-3, GetDate()) as Float))as DateTime)
以上是 SQL Server 的基本 sql。语法可能略有不同。