DDL创建模式和数据。我正在寻找一个其中语句,其中每个ID只返回一行,并且该行将成为基于插入日期列的最后插入的行。根据日期列(SQL)为每个ID返回一行
那么结果将是约翰,5和Debbie,5
select Table1.Name, Table2.Rating
From table1 join table2 on table1.ID = table2.ID
where inserteddate = max(insertedate)
..每个ID?这似乎很简单,但我有一个脑袋。
DDL:
CREATE TABLE [dbo].[Table1](
[Table1ID] [int] NULL,
[Name] [varchar](50) NULL
)
CREATE TABLE [dbo].[Table2](
[Table2ID] [int] NULL,
[InsertedDate] [datetime] NULL,
[Rating] [varchar](50) NULL
)
INSERT INTO [dbo].[Table1]([Table1ID], [Name])
SELECT 1, N'John' UNION ALL
SELECT 2, N'Debbie'
INSERT INTO [dbo].[Table2]([Table2ID], [InsertedDate], [Rating])
SELECT 1, '20090101 00:00:00.000', N'6' UNION ALL
SELECT 1, '20090401 00:00:00.000', N'5' UNION ALL
SELECT 2, '20090202 00:00:00.000', N'3' UNION ALL
SELECT 2, '20090303 00:00:00.000', N'5'