I don't know how to explain my problem in the title, so I'll explain it better here...
I have two tables
CREATE TABLE [dbo].[Ventas]
(
[IdVenta] [int] IDENTITY(1,1) NOT NULL,
[FechaVenta] [date] NULL,
[HoraVenta] [varchar](10) NULL,
[Subtotal] [money] NULL,
[Iva] [money] NULL,
[Total] [money] NULL,
[Saldo] [money] NULL,
[Abono] [money] NULL,
[FormaDePago] [varchar](50) NULL,
[Plazos] [int] NULL,
[Estado] [varchar](50) NULL,
)
CREATE TABLE [dbo].[Plazos]
(
[IdPlazo] [int] IDENTITY(1,1) NOT NULL,
[IdVenta] [int] NULL,
[NumeroPlazo] [int] NULL,
[FechaVencimiento] [date] NULL,
[FechaCorte] [date] NULL,
[FechaPenalizacion] [date] NULL,
[FechaLiquidacion] [date] NULL,
[Total] [money] NULL,
[Cargo] [money] NULL,
[Abono] [money] NULL,
[Estado] [varchar](50) NULL,
)
now to add some data
INSERT [dbo].[Ventas] ([IdVenta], [FechaVenta], [HoraVenta], [Subtotal], [Iva], [Total], [Saldo], [Abono], [FormaDePago], [Plazos], [Estado]) VALUES (182, CAST(0x54360B00 AS Date), N'11:20', 500.0000, 55.0000, 555.0000, 333.0000, 222.0000, N'A Credito', 5, N'Pendiente De Pago')
INSERT [dbo].[Ventas] ([IdVenta], [FechaVenta], [HoraVenta], [Subtotal], [Iva], [Total], [Saldo], [Abono], [FormaDePago], [Plazos], [Estado]) VALUES (183, CAST(0x54360B00 AS Date), N'12:29', 575.0000, 63.2500, 638.2500, 638.2500, 0.0000, N'Una Sola Exhibicion', 1, N'Pendiente De Pago')
INSERT [dbo].[Plazos] ([IdPlazo], [IdVenta], [NumeroPlazo], [FechaVencimiento], [FechaCorte], [FechaPenalizacion], [FechaLiquidacion], [Total], [Cargo], [Abono], [Estado]) VALUES (93, 182, 1, CAST(0x54360B00 AS Date), CAST(0x57360B00 AS Date), CAST(0x5C360B00 AS Date), CAST(0x54360B00 AS Date), 111.0000, 0.0000, 111.0000, N'Liquidado')
INSERT [dbo].[Plazos] ([IdPlazo], [IdVenta], [NumeroPlazo], [FechaVencimiento], [FechaCorte], [FechaPenalizacion], [FechaLiquidacion], [Total], [Cargo], [Abono], [Estado]) VALUES (94, 182, 2, CAST(0x73360B00 AS Date), CAST(0x75360B00 AS Date), CAST(0x7A360B00 AS Date), CAST(0x54360B00 AS Date), 111.0000, 0.0000, 111.0000, N'Liquidado')
INSERT [dbo].[Plazos] ([IdPlazo], [IdVenta], [NumeroPlazo], [FechaVencimiento], [FechaCorte], [FechaPenalizacion], [FechaLiquidacion], [Total], [Cargo], [Abono], [Estado]) VALUES (95, 182, 3, CAST(0x91360B00 AS Date), CAST(0x94360B00 AS Date), CAST(0x99360B00 AS Date), NULL, 111.0000, 111.0000, 0.0000, N'Pendiente')
INSERT [dbo].[Plazos] ([IdPlazo], [IdVenta], [NumeroPlazo], [FechaVencimiento], [FechaCorte], [FechaPenalizacion], [FechaLiquidacion], [Total], [Cargo], [Abono], [Estado]) VALUES (96, 183, 1, CAST(0x54360B00 AS Date), CAST(0x57360B00 AS Date), CAST(0x5C360B00 AS Date), NULL, 639.0000, 639.0000, 0.0000, N'Pendiente')
Foreign Key On Ventas.IdVenta = Plazos.IdVenta
Ok, Here's the deal... I need to use a query that brings data from all sales (Ventas), which only it supposed to be 2 rows...
However, I need data from Plazos, but I only need data from Plazos What I need is to display data from plazos on the same row as Ventas, but only data from the most recent Plazo...
you may notice that for example, in Plazos there is a column called NumeroPlazo which increases on the same IdVenta... what I need in this example is to display:
Ventas IdVenta 182 with data from Plazos IdPlazo 95 (since from Plazos, IdPlazo 95 has the highest number on the column Numero Plazos... and of course IdVenta 183, but since it only has one Plazo, it will display data from that plazo...
At the moment I had this query...
SELECT Ventas.*, Plazos.*,
FROM Ventas INNER JOIN Plazos ON Plazos.IdVenta = Ventas.IdVenta
WHERE Ventas.Estado = 'Pendiente De Pago'
ORDER BY Ventas.FechaVenta DESC, Ventas.HoraVenta DESC
but it returns 4 rows (3 rows for Venta where IdVenta = 182, and one where IdVenta = 183) What I want is only 2 rows...
Then I tried this query that worked... but only for one row
SELECT Ventas.*, Plazos.*,
FROM Ventas INNER JOIN Plazos ON Plazos.IdVenta = Ventas.IdVenta
WHERE Ventas.Estado = 'Pendiente De Pago'
AND Plazos.NumeroPlazo = (SELECT MAX(Plazos.NumeroPlazo) FROM Plazos WHERE Plazos.IdVenta = 182)
ORDER BY Ventas.FechaVenta DESC, Ventas.HoraVenta DESC
Obviously it only works for one sale since I specify Plazos.IdVenta = 182... My question here is... how can I use the latter query to get the data I want for each sale...
I hope yuo can help me... If you need me to be more specific, please let me know.
Thanks in advance