Ostras no le veo la diferencia.
Cita:
Iniciado por carlosd21
Código SQL:
Ver originalSELECT A.empresa,A.productor,A.ALTA,A.BAJA
FROM (
SELECT empresa,productor,SELECT(MAX(fecha1)[ALTA]
FROM NINC WHERE empresa=001 AND clave=5 AND fecha1<=@fFecha),
SELECT(MAX(fecha1)[BAJA] FROM NINC WHERE empresa=001 AND clave=6 AND fecha1<=@fFecha)
FROM ninc
WHERE empresa=001 AND clave=5 AND fecha1<=@fFecha
GROUP BY empresa,productor
) A
WHERE A.ALTA > ISNULL(A.BAJA,1)
El tema es pq esta de arriba y esta de abajo no son ekivalentes. Kiero conseguir q la de arriba sea ekivalente a la de abajo
Código SQL:
Ver originalSELECT A.empresa,A.productor,A.ALTA,B.BAJA
FROM (
SELECT empresa,productor,MAX(fecha1)[ALTA]
FROM ninc
WHERE empresa=001 AND clave=5
GROUP BY empresa,productor
) A
LEFT JOIN (
SELECT empresa,productor,MAX(fecha1)[BAJA]
FROM ninc
WHERE empresa=001 AND clave=6
GROUP BY empresa,productor
) B ON A.empresa = B.empresa AND A.productor=B.productor
WHERE A.ALTA > ISNULL(B.BAJA,1)