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.
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.
1 Respuesta
Respuesta de arkide
1