Buenas tardes, amigos del foro. Aquí estamos de nuevo solicitando vuestra guía.
Tengo el siguiente código que trabaja perfecto (lo diseñó gnzsoloyo)
Código:
UPDATE catalogo T1 INNER JOIN (SELECT codicont, SUM(debe) valorsumado FROM comprobd GROUP BY codicont) T2
ON T1.codicont = t2.codicont SET T1.movdebe = T2.valorsumado
Ahora bien, partiendo de este código he tratado de hacer las siguientes actualizaciones sin lograrlo.
Código:
UPDATE catalogo T1 INNER JOIN (SELECT codigo, SUM(debe) valorsumado FROM comprobd GROUP BY codigo) T2
ON T1.codigo = t2.codigo SET T1.valor = T2.valorsumado
ON T1.codigo = SUBSTRING(t2.codigo,1,1) SET T1.valor = T1.valor + T2.valorsumado
ON T1.codigo = SUBSTRING(t2.codigo,1,2) SET T1.valor = T1.valor + T2.valorsumado;
Me explico. Tengo una tabla asi:
Codigo Valor
1
11
111
112
Los codigos 111 y 112 son de ultimo nivel. Lo que trato de hacer es que el mismo valor sumado sea aplicado a los niveles padres 1,11 incrementando sus valores, debiendo quedar asi, tomando como ejemplo los valores 100 para codigo 111 y 200 para codigo 112. La aplicacion a los codigos de ultimo nivel lo hace bien, pero no encuentro forma de actualizar los codigos padres:
Codi go Valor
1 300
11 300
111 100
112 200
Pueden ayudarme a solucionar este caso?
Saludos, y gracias de antemano.