我想要具有最大id的行。我需要有id 2和那里的行。如何在连接两个表时获得表2的最大ID列
我的表格
请使用下面的脚本创建表格。
/****** Object: Table [dbo].[Customers] Script Date: 03/07/2017 14:48:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Customers](
[CustomerID] [bigint] IDENTITY(1,1) NOT NULL,
[Name] [nchar](10) NULL,
CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED
(
[CustomerID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Instalments] Script Date: 03/07/2017 14:48:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Instalments](
[id] [int] IDENTITY(1,1) NOT NULL,
[Amount] [int] NULL,
[Date] [date] NULL,
[CustomerID] [bigint] NULL,
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[Customers] ON
INSERT [dbo].[Customers] ([CustomerID], [Name]) VALUES (1, N'Muddassir ')
INSERT [dbo].[Customers] ([CustomerID], [Name]) VALUES (2, N'Irshad ')
SET IDENTITY_INSERT [dbo].[Customers] OFF
SET IDENTITY_INSERT [dbo].[Instalments] ON
INSERT [dbo].[Instalments] ([id], [Amount], [Date], [CustomerID]) VALUES (1, 500, CAST(N'2014-09-30' AS Date), 1)
INSERT [dbo].[Instalments] ([id], [Amount], [Date], [CustomerID]) VALUES (2, 600, CAST(N'2015-09-30' AS Date), 1)
INSERT [dbo].[Instalments] ([id], [Amount], [Date], [CustomerID]) VALUES (3, 800, CAST(N'2014-09-30' AS Date), 2)
SET IDENTITY_INSERT [dbo].[Instalments] OFF
我查询
这是我的查询,我使用。
SELECT a.CustomerID,a.[Name],b.Amount,b.Date,b.id from Customers as a
left join Instalments as b On b.CustomerID=a.CustomerID
我的结果 这是我的查询的结果。
我想要什么结果呢? 但我想要下面的结果。我想所有这些都最大ID的行只
CustomerID Name Amount Date id
1 Muddassir 600 2015-09-30 2
2 Irshad 800 2014-09-30 3
对我有用的答案。但我想通过id订购而不是按日期。 很好的回答! –
查询根据客户标识根据最新测试日期和分区获取记录,您可以使用CustomerID而不是[日期]列 – 2017-07-03 10:22:32