>>>>>Should I be able to test each of the selects separately, starting from the bottom? In the top select, does the line
>>>>>
>>>>>NVL(T1.RatingSum,0) + NVL(T2.RatingSum) as TotalRating, ;
>>>>>
>>>>>presuppose that a field named RatingSum already exists, or can it be a field that is defined in this query
>>>>>Thanks
>>>>>Steve
>>>>
>>>>To test, start from the query defined in parenthesis and run it with output to a cursor and then browse that cursor (remember my suggestion in your other thread).
>>>>
>>>>In fact, I think it will be easier for you to first run all your sums into cursors and only after you get the intermediate data for each hour and verify them, join all these cursors together and get the final result you're after.
>>>
>>>OK. I have the two bottom selects working, but the top one still produces an error in the second line which is:
>>>
>>>
>>>NVL(T1.RatingSum,0) + NVL(T2.RatingSum) as TotalRating,;
>>>
>>
>>In the second NVL expression you're missing second argument 0.
>
>
>select ;
>NVL(T1.RatingSum,0) + NVL(T2.RatingSum,0) as TotalRating, ;
>NVL(T1.mDate, T2.mDate) AS yyMMddhh ;
>FROM ;
>( select ;
>MAX(mRating) as RatingSUM ,;
>substr(CAST(mIndex as C(14)),1,6) as mDate ;
>from tab1 ;
>GROUP BY 2
>) AS T1 ;
>FULL JOIN ;
>(select ;
>MAX(mRating) as RatingSUM ,;
>substr(CAST(mIndex as C(14)),1,6) as mDate ;
>from tab2 ;
>GROUP BY 2
>) ;
>T2 ;
>ON T1.mDate = T2.mDate
>
I made one obvious correction and I don't see other errors except for the fact you're selecting MAX of the ratings but calling it RatingSum and then get a total of 2 max ratings.
I think the intention is to get SUM of all ratings, not the sum of two maximum ratings? Or at least use correct column names to reflect what you're doing.
If it's not broken, fix it until it is.
My Blog