Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Question about SQL Query
Message
 
À
26/06/2007 13:59:30
Mike Cole
Yellow Lab Technologies
Stanley, Iowa, États-Unis
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2000
Divers
Thread ID:
01235766
Message ID:
01236203
Vues:
8
>I have a table like so:
>
>
>ID |Date      |Rate
>1  |1/1/2007  |1
>2  |1/2/2007  |1
>3  |1/3/2007  |1
>4  |1/4/2007  |1.25
>5  |1/5/2007  |1.25
>6  |1/6/2007  |1.5
>7  |1/7/2007  |1
>8  |1/8/2007  |1
>9  |1/9/2007  |1
>10 |1/10/2007 |1.25
>11 |1/11/2007 |1.25
>12 |1/12/2007 |1.25
>13 |1/13/2007 |1.25
>14 |1/14/2007 |1
>15 |1/15/2007 |1
>16 |1/16/2007 |1
>
>
>I want a query that shows only when the rate changes... this would be my intended result:
>
>ID |Date      |Rate
>1  |1/1/2007  |1
>4  |1/4/2007  |1.25
>6  |1/6/2007  |1.5
>7  |1/7/2007  |1
>10 |1/10/2007 |1.25
>14 |1/14/2007 |1
>
>
>Would the best way be to include an inline query to query the current id - 1? Or is there some magic I can do to make it easier?

Mike,
I asked about this in other forum and here it is the query:
DECLARE @Temp TABLE (Id int, Date datetime, Rate float)
INSERT INTO @Temp VALUES (1,'1/1/2007',1)
INSERT INTO @Temp VALUES (19,'1/2/2007',1)
INSERT INTO @Temp VALUES (3,'1/3/2007',1)
INSERT INTO @Temp VALUES (4,'1/4/2007',1.25)
INSERT INTO @Temp VALUES (5,'1/5/2007',1.25)
INSERT INTO @Temp VALUES (6,'1/6/2007',1.5)
INSERT INTO @Temp VALUES (7,'1/7/2007',1)
INSERT INTO @Temp VALUES (8,'1/8/2007',1)
INSERT INTO @Temp VALUES (9,'1/9/2007',1)
INSERT INTO @Temp VALUES (10,'1/10/2007',1.25)
INSERT INTO @Temp VALUES (11,'1/11/2007',1.25)
INSERT INTO @Temp VALUES (12,'1/12/2007',1.25)
INSERT INTO @Temp VALUES (13,'1/13/2007',1.25)
INSERT INTO @Temp VALUES (14,'1/14/2007',1)
INSERT INTO @Temp VALUES (15,'1/15/2007',1)
INSERT INTO @Temp VALUES (16,'1/16/2007',1)

SELECT Tmp.*
       FROM  @Temp Tmp
LEFT JOIN @Temp t on Tmp.Date = t.Date + 1
          and Tmp.Rate = t.Rate
where t.ID is null
Of course this query will work only if Dates are in sequence.
Thanks to AlexCuse.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform