Actualizar datos en una tabla SQL con datos de otra ta

Buenos Días necesito hacer este cambio para poder implementar una solución de CRM postventa en mi empresa. Este CRM no me tiene en cuenta los descuentos que yo tengo asignados a mis clientes y genera los albaranes sin estos descuentos. La cuestión que necesito resolver es la siguiente:
Tengo 3 tablas con estos campos:
LINEASALBARAN<span style="white-space: pre;"> </span>Numeroalbaran
<span style="white-space: pre;"> </span>familia
<span style="white-space: pre;"> </span>subfamilia
<span style="white-space: pre;"> </span>descuento
CABECERAALBARAN numeroalbaran
<span style="white-space: pre;"> </span>  codigocliente
DESCUENTOS  <span style="white-space: pre;"> </span>     codigocliente
                                     familia
<span style="white-space: pre;"> </span>     subfamilia
<span style="white-space: pre;"> </span><span style="white-space: pre;"> </span>     descuento
Se trata de repasar albaranes para imputar el descuento que cada cliente pueda tener asignado en los artículos.
Y lo que necesito es actualizar en la tabla LINEASALBARAN el campo descuento con el campo descuento que tenga ese cliente en la tabla DESCUENTOS (si es que le corresponde algún descuento en esa familia/subfamilia, puede que ni aparezca en la tabla por no tener ningún descuento asignado).
Lo complicado es que en la tabla LINEASALBARAN no tengo el campo codigocliente para poder ir directamente a buscarlo a la tabla DESCUENTOS sino que hay que averiguar ese campo en la tabla CABECERAALBARAN en base al campo numeroalbaran que sí que lo tengo en las líneas.
Para lo cual he de localizar primero a qué cliente corresponde esa línea de albarán mediante el campo LINEASALBARAN.numeroalbaran a través de la tabla CABECERAALBARAN buscar ese numeroalbaran y ver a qué codigocliente corresponde para luego buscar ese cliente en la tabla DESCUENTOS y comprobar si en esa familia y subfamilia le corresponde algún descuento y si es así ponerlo en la tabla LINEASALBARAN.
En fin no sé si me he explicado correctamente, para mí es un cuestión complicada ya mis conocimientos de SQL son escasos.
Muchas gracias por anticipado.
Respuesta
1
Dado el caso que tienes varios descuentos lo más recomendable es que crees un cursor, pero las validaciones las tendrás que hacer en base a los resultados que arroje el cursor.
Ahora si tienes correspondencia con los descuentos podrías usar un simple inner join, o en su defecto un right join o left join, pero lo más recomendable es que manejes cursores dada la complejidad que pueden llegar a manejar los sistemas.
Gracias, no me enteré de mucho buscaba un lenguaje mucho más sencillo. Soy muy novato en SQL. Por suerte otro experto me lo ha solucionado.
No obstante gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas