Hola, porfa ayudenme con esto, se los explico lo más resumido posible. Tengo dos tablas cabecera/detalle:
Cmp_Cotizacion
IdEmpresa int PK
IdOficina int PK
IdCotizacion int PK
IdParticipanteProv int --Codigo del proveedor
FechaVencimiento DateTime --Fecha de vencimiento de la cotizacion
Cmp_DetalleCotizacion
IdEmpresa int PK
IdOficina int PK
IdCotizacion int PK
IdDetCotizacion int PK
IdItem int --Codigo del artículo
Según el modelo se pueden ingresar muchas cotizaciones de un proveedor determinado. Y yo lo que necesito es saber cuantas cotizaciones vigentes existen de un producto (campo IdItem) determinado de una empresa determinada.
El select que yo he podido hacer es lo siguiente:
Código:
SELECT
Idparticipanteprov,
max(fechavencimiento)
FROM Cmp_Cotizacion INNER JOIN
Cmp_DetalleCotizacion ON
Cmp_Cotizacion.IdEmpresa = Cmp_DetalleCotizacion.IdEmpresa
AND Cmp_Cotizacion.IdOficina = Cmp_DetalleCotizacion.IdOficina
AND Cmp_Cotizacion.IdCotizacion = Cmp_DetalleCotizacion.IdCotizacion
WHERE Cmp_Cotizacion.IdEmpresa=2
AND Cmp_DetalleCotizacion.IdItem=1832
AND Cmp_Cotizacion.fechavencimiento>=GETDATE()
GROUP BY IdParticipanteProv
Con esto traigo todos los proveedores que tienen cotizaciones vigentes, el select me trae cuatro registros, por cada registro me muestra el código del proveedor y fecha maxima de cotizacion vigente. Pero yo necesito saber cuantas cotizaciones vigentes hay por producto, no cuales. Necesito que el select me devuelva el numero 4
Se puede verdad?
Alguna vez lo aprendí pero lo que no se práctica se olvida