Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas, tengo un pequeño problema con 2 tabla.
La tabla 1 tiene stock (fecha del stock actual)
FECHA DE HOY CODVAR STOCK
20140205 100901 5
20140205 1002001 6
20140205 1102001 8
La tabla 2 tiene ventas: (ventas por meses)
AÑOMES | CODART | VENTA |
201401 | 1009 | 15 |
201402 | 10020 | 8 |
Y quisiera hacer una tabla del tipo
AÑOMES | CODART | STOCK-VENTA |
201401 | 1009 | -10 |
201402 | 10020 | -2 |
201402 | 11020 | 8 |
La relación entre las variables CODART y CODVAR es que la primera es igual que la segunda pero quitando a la variable CODVAR los 2 ultimos dígitos. Es decir 1009 sale de 100901 quitando los 2 ultimos dígitos.
Alguna posible idea....????
Hola Galván,
Yo utilizaría un Outer Join para unir las tablas, de esa forma se añadirían también los códigos que no existan en la 1ª tabla.
Tendrás que transformar los datos de forma que en la tabla_1 crees otro campo CODART (quitándole como dices los 2 últimos dígitos), ése será el campo de unión con la tabla_2. En la tabla_2 para que funcione el Outer Join debes tener el campo de unión y todos aquellos campos que tenga la tabla_1, aparte de los propios de la tabla_2. Así que tendrás que crear un campo STOCK, aunque le des valor cero (0 as STOCK). Y como el campo AÑOMES no tiene el mismo formato que FECHA DE HOY, creo que tendrás que crearte también un campo FECHA DE HOY en la tabla_2 (puedes crearlo con la fecha que tienes en ésta tabla poniendo de día 01 por ej.)
El resultado debería ser una tabla que tenga los siguientes campos:
FECHA DE HOY
CODVAR
STOCK
CODART
AÑOMES
VENTA
Una vez que tengas esto, ya podrías construir la tabla que tú quieres con el STOCK-VENTA.
Un saludo,
Hola Galvan
Para quitar los dos últimos dígitos usa la función Mid().. y tal vez Len()...
Algo como:
Mid(CODVAR, 1, Len(CODVAR) -2) AS Llave
En caso que tuviese espacios en blanco al inicio o al final....
Mid(Trim(CODVAR), 1, Len(Trim(CODVAR)) -2) AS Llave
Saludos
Hola Galván,
Yo utilizaría un Outer Join para unir las tablas, de esa forma se añadirían también los códigos que no existan en la 1ª tabla.
Tendrás que transformar los datos de forma que en la tabla_1 crees otro campo CODART (quitándole como dices los 2 últimos dígitos), ése será el campo de unión con la tabla_2. En la tabla_2 para que funcione el Outer Join debes tener el campo de unión y todos aquellos campos que tenga la tabla_1, aparte de los propios de la tabla_2. Así que tendrás que crear un campo STOCK, aunque le des valor cero (0 as STOCK). Y como el campo AÑOMES no tiene el mismo formato que FECHA DE HOY, creo que tendrás que crearte también un campo FECHA DE HOY en la tabla_2 (puedes crearlo con la fecha que tienes en ésta tabla poniendo de día 01 por ej.)
El resultado debería ser una tabla que tenga los siguientes campos:
FECHA DE HOY
CODVAR
STOCK
CODART
AÑOMES
VENTA
Una vez que tengas esto, ya podrías construir la tabla que tú quieres con el STOCK-VENTA.
Un saludo,
Gracias Sonia y Julian, me ha funcionado correctamente.
De nada.