目前,我的数据库中有两个表:
列的“客户”:customer_id,customer_name
“支付”栏: payment_id,customer_id,年份,支付(bool),付款人
列“年份”表示“支付人”支付的年份。
这只给了我一个付费栏:
SELECT customer_id, paid AS paid_for_2017 FROM customers LEFT JOIN payments ON customers.customer_id=payments.customer_id AND year=2017;
现在,我需要一个SELECT查询,它为我提供以下内容:
cu
我需要编写一个SQL查询,以查找已经支付了3次以上并支付了70,000美元以上的客户的客户数量。
这是我到目前为止想出的,只有那些付款超过70000的顾客。我不允许使用交叉口.
SELECT customernumber FROM CLASSICMODELS.PAYMENTS
where amount > 70000
group by customerNumber
having count(*) > 3
我有一个MDX引用2008 R2企业版多维数据集,该多维数据集从功能角度返回所需的数据。但是,执行此查询需要5-10分钟,对于在SSRS报告中执行此查询的最终用户来说,这是不可访问的。
查询如下:
With Member [Measures].[CurrentPaidAmount] as
Sum (
Tail(nonempty(descendants([Valuation Date].[DateHierachy].currentmember,4),[Measures].[SaleCount]),1),
[Measures].[CurrentTotalPaidAmt]
)
我试图返回一个客户I的列表,其中包括他们在第一次付款后30天内支付的所有款项的总和。我试过
select
P.CustomerID,
SUM(P.TransactionAmount)
from Customer_Payments P
where P.dDatePaymentReceived < date_add(min(P.dDatePaymentReceived), INTERVAL 30 DAY)
group by P.iCustomerID;
但是这是行不通的,因为我不能在where子句中包含一个min()在date_add中。有什么简单的办法吗?