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:
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 4SELECT 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
Se puede verdad?
Alguna vez lo aprendí pero lo que no se práctica se olvida
Al ponerle el count(*) en vez del max(fechavencimiento) lo que hace es mostrarme por proveedor cuantas cotizaciones vigentes tiene, pero necesito que un proveedor tenga mas de una cotización vigente solo me tome en cuenta la última. De verdad que ta difícil, ya estoy empezando a creer que no se puede 
