2013-04-24 175 views
0

我想用目前的客户ID,因为我尝试描述如下的Sql子查询语法

SELECT DISTINCT Customer_Id, 
(SELECT SUM (total) FROM Orders where Customer_Id = Customer_Id AND CAST(Date) > DayIspecify) 
FROM Orders where shop_id= '1-9THT' 

我要的是计算SUM每个客户花费在指定的时间段对特定的车间执行的子查询。

+0

您正在使用哪种版本的SQL Server? – 2013-04-24 10:36:31

+0

你不想要一个子查询,而是通过 – jeroenh 2013-04-24 10:36:43

+0

来分组吗?你想要1-9THT店的订单价值,按客户细分,还是你想要客户的价值*全部*他们的订单,其中*任何*他们的订单是通过1-9THT店铺进行的? – 2013-04-24 10:51:38

回答

1

(更新)尝试:

select Customer_Id, 
     sum(case when o.shop_id = '1-9THT' and Date > DayIspecify 
       then total else 0 end) total 
from Orders 
group by Customer_Id 

- 返回所有客户recorde d在订单表上,以及在指定日期之后通过商店1-9THT 放置的任何订单的值。 (将>更改为>=,使其在指定日期之后或之后

4
SELECT Customer_Id, SUM(total) SumTotal 
FROM Orders 
where shop_id= '1-9THT' 
group by Customer_id 
2

不按规定的子查询 试试这个:

SELECT Customer_Id,SUM(total)FROM Orders WHERE shop_id='1-9THT' GROUP BY Customer_Id 
0

使用SQL GroupBy

SELECT DISTINCT Customer_Id, SUM (total) FROM Orders where shop_id= '1-9THT' group by customer_Id