タイトルで自分の問題を説明する方法がわからないので、ここでもっと詳しく説明します...
私は2つのテーブルを持っています
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,
)
ここでいくつかのデータを追加します
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')
Ventas.IdVentaの外部キー=Plazos.IdVenta
OK、これが取引です...すべての販売(Ventas)からのデータを取得するクエリを使用する必要があります。これは2行であると想定されています...
ただし、Plazosからのデータが必要ですが、Plazosからのデータのみが必要です。必要なのは、PlazosからのデータをVentasと同じ行に表示することですが、最新のPlazoからのデータのみです...
たとえば、Plazosには、同じIdVentaで増加するNumeroPlazoという列があることに気付くかもしれません...この例で必要なのは、次のように表示することです。
プラゾスIdPlazo95からのデータを含むVentasIdVenta182(プラゾスから、IdPlazo95はNumeroPlazos列で最も高い番号を持っています...そしてもちろんIdVenta183ですが、プラゾが1つしかないため、そのプラゾからのデータが表示されます。 ..
現時点で私はこのクエリを持っていました...
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
しかし、4行を返します(IdVenta = 182のVentaの場合は3行、IdVenta = 183の場合は1行)必要なのは2行だけです...
それから私はうまくいったこのクエリを試しました...しかし1行だけ
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
Plazos.IdVenta = 182を指定しているので、明らかに1つの販売でのみ機能します...ここでの私の質問は...後者のクエリを使用して各販売に必要なデータを取得するにはどうすればよいですか...
yuoが私を助けてくれることを願っています...もっと具体的にする必要がある場合は、私に知らせてください。
前もって感謝します