Thread: A BETTER QUERY
View Single Post

   
  #4 (permalink)  
Old 04-24-2008, 06:10 PM
Jorge Reyes
 
Posts: n/a
Default Re: A BETTER QUERY

On 23 abr, 13:46, b...@sybase.com wrote:
> Assuming that assigning the values to local variables is important,
> something like the following might be used:
>
> SELECT
> @MAX_HEPE_OUT1 = COALESCE( *MAX( CASE when Outputsource = 1 then Hepe
> else <minvalue> end ),0),
> @MIN_HEPE_OUT1 = *COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT1 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT2 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT2 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT2 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT3 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT3 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT3 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT4 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT4 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT4 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT5 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT5 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT5 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT6 = COALESCE( *MAX(CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT6 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT6 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT7 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT7 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT7 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> @MAX_HEPE_OUT8 = COALESCE( *MAX( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @MIN_HEPE_OUT8 = COALESCE( *MIN( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0),
> @AVG_HEPE_OUT8 = COALESCE( *AVG( CASE when Outputsource = 1 then
> Hepeelse <minvalue> end ),0)
> FROM #TMP2_UB_HEPE
> WHERE
> PMM_DATETIME BETWEEN @dINIT_DATE AND @dEND_DATE_AUX


Assigning the values to local variables is VERY important, but i dont
understand this, you mean that i have put a MIN(CASE when X else Y
end),0)
where
X = Outputsource = 1,2,3......8
Y = ?????

Sorry but please give me more details, thanks!!
Reply With Quote