![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Greetings, I have the follow table structure: CREATE TABLE [dbo].[Strategies_data] ( [Symbol] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [dateTraded] [smalldatetime] NOT NULL , [Strategy] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Signal] [smallint] NOT NULL , [priceTrigger] [decimal](18, 5) NOT NULL ) ON [PRIMARY] with some sample data: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 7/22/2003 Reversal 1 18.03 CSCO 7/5/2003 Reversal -1 18.30 CSCO 8/4/2003 Swing -1 19.20 CSCO 7/25/2003 Swing 1 18.50 INTC 8/6/2003 Reversal -1 25.30 INTC 7/27/2003 Reversal 1 24.40 INTC 7/22/2003 Swing 1 23.00 INTC 7/06/2003 Swing -1 23.95 I'd like to find the newest row for each symbol/strategy combination. For example, from the above data, I need this result: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 8/4/2003 Swing -1 19.20 INTC 8/6/2003 Reversal -1 25.30 INTC 7/22/2003 Swing 1 23.00 Any help would be appreciated. TIA |
#3
| |||
| |||
|
|
Air coded... SELECT Symbol, dateTraded, Strategy, Signal, priceTrigger FROM Strategies_data S INNER JOIN ( SELECT Symbol, MAX(dateTraded) AS DateTraded, Strategy FROM Strategies_data GROUP BY Symbol Strategy) T ON T.Symbol = S.Symbol AND T.dateTraded = S.DateTraded AND T.Strategy = S.Strategy "Tom Nunamaker" <tom.nunamaker (AT) randolph (DOT) af.mil> wrote in message news:9ac6b029.0308060802.7e996113 (AT) posting (DOT) google.com... Greetings, I have the follow table structure: CREATE TABLE [dbo].[Strategies_data] ( [Symbol] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [dateTraded] [smalldatetime] NOT NULL , [Strategy] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Signal] [smallint] NOT NULL , [priceTrigger] [decimal](18, 5) NOT NULL ) ON [PRIMARY] with some sample data: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 7/22/2003 Reversal 1 18.03 CSCO 7/5/2003 Reversal -1 18.30 CSCO 8/4/2003 Swing -1 19.20 CSCO 7/25/2003 Swing 1 18.50 INTC 8/6/2003 Reversal -1 25.30 INTC 7/27/2003 Reversal 1 24.40 INTC 7/22/2003 Swing 1 23.00 INTC 7/06/2003 Swing -1 23.95 I'd like to find the newest row for each symbol/strategy combination. For example, from the above data, I need this result: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 8/4/2003 Swing -1 19.20 INTC 8/6/2003 Reversal -1 25.30 INTC 7/22/2003 Swing 1 23.00 Any help would be appreciated. TIA |
#4
| |||
| |||
|
|
Fantastic. With only minor corrections, it worked perfectly. That's a nice technique to use a sub-query as a pseudo table. I haven't done that in a long time and that certainly did the trick. Here's the working query: SELECT S.Symbol, S.dateTraded, S.Strategy, Signal, priceTrigger FROM Strategies_data S INNER JOIN (SELECT Symbol, MAX(dateTraded) AS DateTraded, Strategy FROM Strategies_data GROUP BY Symbol, Strategy) T ON T.Symbol = S.Symbol AND T.dateTraded = S.DateTraded AND T.Strategy = S.Strategy Thanks again! |
#5
| |||
| |||
|
|
Greetings, I have the follow table structure: CREATE TABLE [dbo].[Strategies_data] ( [Symbol] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [dateTraded] [smalldatetime] NOT NULL , [Strategy] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Signal] [smallint] NOT NULL , [priceTrigger] [decimal](18, 5) NOT NULL ) ON [PRIMARY] with some sample data: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 7/22/2003 Reversal 1 18.03 CSCO 7/5/2003 Reversal -1 18.30 CSCO 8/4/2003 Swing -1 19.20 CSCO 7/25/2003 Swing 1 18.50 INTC 8/6/2003 Reversal -1 25.30 INTC 7/27/2003 Reversal 1 24.40 INTC 7/22/2003 Swing 1 23.00 INTC 7/06/2003 Swing -1 23.95 I'd like to find the newest row for each symbol/strategy combination. For example, from the above data, I need this result: Symbol dateTraded Strategy Signal priceTrigger CSCO 8/5/2003 Reversal -1 19.32 CSCO 8/4/2003 Swing -1 19.20 INTC 8/6/2003 Reversal -1 25.30 INTC 7/22/2003 Swing 1 23.00 Any help would be appreciated. TIA |
![]() |
| Thread Tools | |
| Display Modes | |
| |