Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2011, 08:03
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Update cruzado

Si las tablas no están relacionadas, ¿por qué dices hacer un decremento de un valor de la primera tabla por cada registro de la segunda?
Una de dos, o hay una relación y no la estás diciendo, o no hay una relación y entonces la operación no tiene sentido.

Voy a hacer una aclaración:
Si haces la operación tal y como la planteas, puede suceder que:
- Haya uno o más campos que tengan el mismo nombre en ambas tablas (caso en el cual MySQL interpretará que están relacionadas por esos campos), hará un matching entre esos campos y realizará el decremento en los registros que devuelva. Si no hay valores coincidentes entre ambas tablas en esos campos, devolverá un conjunto nulo de registros.
- Si no hay uno o mas campos con el mismo nombre, puede realizar un producto cartesiano, lo que significa que devolvería la combinación de todos los registros de la primera tabla con cada registro de la segunda. Esto implicaría que si ambas tablas tuviesen 100 registros, devolverá una tabla de 10.000 resultados combinados, e implica que el decremento se aplicará en este ejemplo, 100 veces en cada registro de la primera tabla.

Tengo la impresión de que estás planteando un ejemplo genérico, y en esto s casos no hay nada genérico. Es un caso concreto lo que debemos analizar.

Postea el caso real.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)