Re: How would I do this sub-select?

From: <dan_at_nospam.com>
Date: Wed, 14 Jan 2009 12:11:34 -0600
Message-ID: <496e2ad7$0$48220$815e3792_at_news.qwest.net>



Bob Badour wrote:
> dan_at_nospam.com wrote:
> 

>> 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?
>
> Check your parentheses.

The parentheses are matched as far as I can tell. If they weren't, I would an error. Received on Wed Jan 14 2009 - 12:11:34 CST

Original text of this message