Sobre la otra solución:
Código SQL
[-]Select Distinct Co1.Cot,
(Select Max(Co2.Sub) from Cotizaciones Co2
where Co1.Cot = Co2.Cot)
from Cotizaciones Co1
La adapté y quedo así:
Código SQL
[-]
SELECT DISTINCT PRODUCTO.PRODUCTO_CODIGO, TIPO.TIPO_NOMBRE, EMPRESA.EMPRESA_NOMBRE, PRODUCTO.PRODUCTO_NOMBRE,
PRODUCTO.PRODUCTO_PRECIO, (SELECT MAX(PRODUCTO.PRODUCTO_FECHA) FROM PRODUCTO JOIN TIPO ON PRODUCTO.TIPO_CODIGO = TIPO.TIPO_CODIGO
JOIN EMPRESA ON PRODUCTO.EMPRESA_CODIGO = EMPRESA.EMPRESA_CODIGO)
FROM PRODUCTO JOIN TIPO ON PRODUCTO.TIPO_CODIGO = TIPO.TIPO_CODIGO
JOIN EMPRESA ON PRODUCTO.EMPRESA_CODIGO = EMPRESA.EMPRESA_CODIGO
GROUP BY PRODUCTO.PRODUCTO_CODIGO, TIPO.TIPO_NOMBRE, EMPRESA.EMPRESA_NOMBRE, PRODUCTO.PRODUCTO_NOMBRE, PRODUCTO.PRODUCTO_PRECIO
Pero el problema es que al hacer "SELECT MAX(PRODUCTO.PRODUCTO_FECHA)" le estoy diciendo arbitrariamente que coloque en todos los registros que obtenga la fecha mayor y no que muestre sólo la mayor