Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
JTProg
Starting Member
24 Posts |
Posted - 2006-10-13 : 11:46:44
|
| Is there an easy way to find the highest value in a list with a procedure, without programming a whole lot of conditional statements? The numbers will eventually be dynamic and eventually increase to 5 instead of 3, I'm just trying this with static variables right now. Also, what if two of the numbers equal. Can I easily pick one programmatically, without more conditional statements?Declare @Number1 intDeclare @Number2 intDeclare @Number3 intSet @Number1 = 100Set @Number2 = 101Set @Number3 = 103IF @Number1 > @Number2 AND @Number1 > @Number3BEGIN Select @Number1ENDIF @Number2 > @Number1 AND @Number2 > @Number3BEGIN Select @Number2ENDIF @Number3 > @Number1 AND @Number3 > @Number2BEGIN Select @Number3END |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2006-10-13 : 11:51:16
|
| select max(d.number)from (select @number1 number union allselect @number2 union allselect @number3 union allselect @number4 union allselect @number5) dPeter LarssonHelsingborg, Sweden |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2006-10-13 : 12:05:05
|
if you want to stick with your old syntax, try thisdeclare @max intselect @max = @number1if @number2 > @max select @max = @number2if @number3 > @max select @max = @number3 Peter LarssonHelsingborg, Sweden |
 |
|
|
Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)
7020 Posts |
Posted - 2006-10-13 : 12:12:56
|
| [code]sekect case when @Number1 > @Number2 AND @Number1 > @Number3 then @Number1 when @Number2 > @Number3 then @Number2 else @Number3 end[/code]CODO ERGO SUM |
 |
|
|
|
|
|