Re: How would I do this sub-select?

From: <dan_at_nospam.com>
Date: Wed, 14 Jan 2009 11:05:38 -0600
Message-ID: <496e1b63$0$89399$815e3792_at_news.qwest.net>



Bob Badour wrote:
> dan_at_nospam.com wrote:
>
>> Hi,
>>
>> I need to do "For each customer identified by Cust_ID sum last 90 days 
>> of Sales from Monday for each Monday going back 365 days" and return 
>> 'Monday_Date', 'Cust_ID', 'Sales_Last_90_Days'.  I am going against MS 
>> SQL Server 2000.  Need some help with the SQL.
>>
>> Thanks!  -- dan

>
> Hi Dan,
>
> Don't you think you will learn more if you do your own homework?

Here is what I have:

SELECT Custid, Invoicedate AS Monday_Date,

    (SELECT Sum(R_Sales) FROM Order_Header_Invoice AS T2 WHERE

     T2.Invoicedate <= T1.Invoicedate AND T2.Invoicedate >=
     DateAdd(day, -90, T1.Invoicedate) ) AS Sales_L90D

FROM Order_Header_Invoice AS T1 WHERE ( DatePart(weekday, Invoicedate) = 2 AND Invoicedate >= DateAdd(day, -365, getdate()) ) GROUP BY Custid, Invoicedate
ORDER BY Custid, Invoicedate DESC

but I get a "Timeout Expired" error. Is this causing an infinite loop? Received on Wed Jan 14 2009 - 11:05:38 CST

Original text of this message