A fellow forum man, ask a question about SQL Query. Unfortunately I was not able to give a good him.
Here is the data and the query he uses:
I am sure there is MUCH better query that this because all goes down If you have data like this:
TIA
Borislav Borissov
VFP9 SP1, SQL Server 2000/2005.
MVP VFP
Here is the data and the query he uses:
Code:
[COLOR=blue]DECLARE[/color] @Temp [COLOR=blue]TABLE[/color] (Id [COLOR=blue]int[/color], [COLOR=blue]Date[/color] [COLOR=#FF00FF]datetime[/color], Rate [COLOR=blue]float[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (1,[COLOR=red]'1/1/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (2,[COLOR=red]'1/2/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (3,[COLOR=red]'1/3/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (4,[COLOR=red]'1/4/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (5,[COLOR=red]'1/5/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (6,[COLOR=red]'1/6/2007'[/color],1.5)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (7,[COLOR=red]'1/7/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (8,[COLOR=red]'1/8/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (9,[COLOR=red]'1/9/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (10,[COLOR=red]'1/10/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (11,[COLOR=red]'1/11/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (12,[COLOR=red]'1/12/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (13,[COLOR=red]'1/13/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (14,[COLOR=red]'1/14/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (15,[COLOR=red]'1/15/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (16,[COLOR=red]'1/16/2007'[/color],1)
[COLOR=blue]SELECT[/color] Tmp.*
[COLOR=blue]FROM[/color] @Temp Tmp
[COLOR=blue]WHERE[/color] (([COLOR=blue]SELECT[/color] Id [COLOR=blue]FROM[/color] @Temp x
[COLOR=blue]WHERE[/color] x.Id = Tmp.ID - 1) [COLOR=blue]IS[/color] NULL)
OR (([COLOR=blue]SELECT[/color] Rate [COLOR=blue]FROM[/color] @Temp x [COLOR=blue]WHERE[/color] x.ID = Tmp.ID - 1) <> Tmp.Rate)
Code:
[COLOR=blue]DECLARE[/color] @Temp [COLOR=blue]TABLE[/color] (Id [COLOR=blue]int[/color], [COLOR=blue]Date[/color] [COLOR=#FF00FF]datetime[/color], Rate [COLOR=blue]float[/color])
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (1,[COLOR=red]'1/1/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (19,[COLOR=red]'1/2/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (3,[COLOR=red]'1/3/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (4,[COLOR=red]'1/4/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (5,[COLOR=red]'1/5/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (6,[COLOR=red]'1/6/2007'[/color],1.5)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (7,[COLOR=red]'1/7/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (8,[COLOR=red]'1/8/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (9,[COLOR=red]'1/9/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (10,[COLOR=red]'1/10/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (11,[COLOR=red]'1/11/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (12,[COLOR=red]'1/12/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (13,[COLOR=red]'1/13/2007'[/color],1.25)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (14,[COLOR=red]'1/14/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (15,[COLOR=red]'1/15/2007'[/color],1)
[COLOR=blue]INSERT[/color] [COLOR=blue]INTO[/color] @Temp [COLOR=blue]VALUES[/color] (16,[COLOR=red]'1/16/2007'[/color],1)
TIA
Borislav Borissov
VFP9 SP1, SQL Server 2000/2005.
MVP VFP