Ver Mensaje Individual
  #10  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Reputación: 21
sur-se Va por buen camino
Gracias por tu contestación, pero no estoy del todo de acuerdo con lo que indicas.

Esta consulta funciona perfectamente en 1.5.6 y en 2.x no:
Código:
SELECT C.CCOD_SERIE, C.NCOD_MOVALM, C.DFECHAHORA, L.CTIPO, A.CARTICULOALMACEN,
       L.NCOD_ORDEN, L.CARTICULO, L.NALMACEN, L.NALMACENORIG, L.NCANTIDAD1, L.NCANTIDAD2  
FROM CABMOVALM C , LINMOVALM L, ARTICULOS A  
WHERE (C.CCOD_SERIE = L.CCOD_SERIE) 
AND (C.NCOD_MOVALM = L.NCOD_MOVALM)  
AND (L.CARTICULO = A.CCOD_ARTICULO) 
AND A.CTIPO <> 'S'  
AND ARTICULOS.CCOD_ARTICULO>='030403' and (ARTICULOS.CCOD_ARTICULO<='030403') 
and (DFECHA>='01/01/10') and (DFECHA<='01/31/10') 
AND (ARTICULOS.CESTADO='A') AND (ARTICULOS.CTIPO='N') AND A.CESTADO = 'A'
Para solucionarlo hay que cambiar los ARTICULOS. por A., o quitar el alias A y poner todo como ARTICULOS. No veo que esta consulta esté mal por ello, pero si sé que en el 2.x no funciona. Tuve que investigar el motivo y era simplemente ese. O se usa un alias en todo o no se usa en ninguno, pero no se puede a veces si y a veces no en la misma consulta. No entro a valorar si es correcto o incorrecta formalmente la SQL. Lo cierto es que en el 1.5 funciona bien y en el 2.x no.

Respecto a lo segundo, no veo porque el hecho de crear o borrar tablas en una base de datos tiene porque corromperla. Para eso está la base de datos y sus instrucciones de creación y borrado. No me parece un motivo para ello y no estoy de acuerdo con esa afirmación de que por ello voy a corromperla.
En la versión 1.5.6 no hay tablas temporales, así que si necesito una tabla en la base de datos para un proceso que se ejecuta en un procedimiento almacenado (por ejemplo), lo que hago es crear la tabla con un nombre TMP+código de un generador. La utilizo en el proceso que se quiera y luego cuando ya no se necesita, se hace el drop. No veo que problema o cosa mal esté haciendo por ello como para que se corrompa la base de datos. De hecho, llevo mucho tiempo usando ese sistema y nunca se me ha corrompido la base de datos.

De todas formas, agradezco tu interés y ayuda. Como verás el problema es que necesito usar la 1.5.6 y no veo porque no funciona en el WS2008. Es muy raro.
Un saludo.

Última edición por Casimiro Notevi fecha: 18-05-2010 a las 18:15:46. Razón: Ajustar código para que se vea completo
Responder Con Cita