Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/05/2010, 01:46
carlosd21
 
Fecha de Ingreso: mayo-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: que me falla en la sintaxis??

Ostras no le veo la diferencia.



Cita:
Iniciado por carlosd21 Ver Mensaje
Código SQL:
Ver original
  1. SELECT A.empresa,A.productor,A.ALTA,A.BAJA
  2. FROM (
  3.     SELECT empresa,productor,SELECT(MAX(fecha1)[ALTA]
  4.           FROM NINC WHERE empresa=001 AND clave=5 AND fecha1<=@fFecha),
  5.           SELECT(MAX(fecha1)[BAJA] FROM NINC WHERE empresa=001 AND clave=6 AND fecha1<=@fFecha)
  6.             FROM ninc
  7.           WHERE empresa=001 AND clave=5 AND fecha1<=@fFecha
  8.     GROUP BY empresa,productor
  9. ) A
  10. 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 original
  1. SELECT A.empresa,A.productor,A.ALTA,B.BAJA
  2. FROM (
  3.     SELECT empresa,productor,MAX(fecha1)[ALTA]
  4.     FROM ninc
  5.     WHERE empresa=001 AND clave=5
  6.     GROUP BY empresa,productor
  7. ) A
  8. LEFT JOIN (
  9.     SELECT empresa,productor,MAX(fecha1)[BAJA]
  10.     FROM ninc
  11.     WHERE empresa=001 AND clave=6
  12.     GROUP BY empresa,productor
  13. ) B ON A.empresa = B.empresa AND A.productor=B.productor
  14. WHERE A.ALTA > ISNULL(B.BAJA,1)