SQL - SQL Server : Obtener registro según condiciona y fecha mínima

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 22 puestos en SQL (en relación al último mes)
Gráfica de SQL

SQL Server : Obtener registro según condiciona y fecha mínima

Publicado por Daniel (2 intervenciones) el 11/11/2020 04:03:31
Hola, favor agradeceré su ayuda respecto a obtener el siguiente resultado en sql server 2008/2012:

Tabla Marcas :

1

Tabla Mantenciones :

2

Tabla deseada :

3

Debo obtener según una marca su mantención mas próxima a su fecha de ingreso.

Agradeceré algún ejemplo o guía respecto a esto, gracias.

Tengo el siguiente codigo, pero el cross apply con mas de 1000 registros se torna muy pesada...demora demasiado...favor su apoyo.

SCRIPT :

create table #marcas
(id int, marca nvarchar(40), fecha_ingreso date)

create table #mantenciones
(id int, marca nvarchar(40), fecha_mantencion date)

insert into #marcas values (1,'FIAT','2020-03-10'),(2,'FORD','2020-04-05'),(3,'MAZDA','2020-05-01');

insert into #mantenciones values (1,'FIAT','2020-03-15'),(2,'FIAT','2020-03-17'),(3,'FIAT','2020-03-20');
insert into #mantenciones values (4,'FORD','2020-04-20'),(5,'FORD','2020-04-07');
insert into #mantenciones values (6,'MAZDA','2020-05-01'),(7,'MAZDA','2020-05-02');


SELECT * FROM #marcas;
SELECT * FROM #mantenciones

SELECT m.id,
m.marca,
ma.id,
ma.fecha_mantencion
FROM #marcas m
CROSS APPLY (SELECT TOP 1 *
FROM #mantenciones
WHERE Marca = m.Marca
AND fecha_mantencion >= m.fecha_ingreso
ORDER BY fecha_mantencion) ma
;

DROP TABLE #mantenciones
DROP TABLE #marcas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.636
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

SQL Server : Obtener registro según condiciona y fecha mínima

Publicado por Isaias (1596 intervenciones) el 11/11/2020 16:43:55
Hay dos imágenes que no se ven, ¿Dónde esta la creacion de tus INDICES?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha disminuido su posición en 22 puestos en SQL (en relación al último mes)
Gráfica de SQL

SQL Server : Obtener registro según condiciona y fecha mínima

Publicado por Daniel (2 intervenciones) el 11/11/2020 18:52:41
Hola Isaias, adjunto nuevamente :

Respecto a tu consulta de INDICES no entiendo, si me ayudas por favor.

Señale un script para revisar si es que estoy bien y como puedo mejorar, gracias.

Tabla Mantenciones :

2

Tabla deseada :

3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar