#1
|
|||
|
|||
Unir tablas internas sumando campos iguales
Hola a todos,
Necesitaría unir dos tablas internas en una de manera que en los registros que obtendría repetidos, sumase un campo. Pongo un ejemplo: Tengo dos tablas internas: 1) it_prev con los siguientes campos: | Año | Unidad Prevision | Servicio | Cantidad | Proveedor | ---------------------------------------------------------- | 2007 | 0000000000001 | 300 | 2 | 500 | | 2007 | 0000000000001 | 301 | 3 | 500 | | 2007 | 0000000000001 | 300 | 1 | 250 | En esta tabla para cada proveedor tengo dos servicios diferentes cada uno con su cantidad 2) it_deleg con los siguientes campos: | Distribuidora | Delegacion | Proveedor | Unidad prevision | ---------------------------------------------------------- | CEG | CC1 | 500 | 0000000000001 | Para mi ejemplo con un registro tengo suficiente, es el que necesito. Bien pues necesito unir it_prev y it_deleg en la tabla interna it_pro_del de manera que los registros que estén repetidos en la it_pro_del se sume su campo Cantidad. Así debería quedar la tabla it_pro_del: | Proveedor | Delegación | Total | --------------------------------- | 500 | CC1 | 5 | | 250 | CC1 | 1 | Si fuese con un select no habria problema, pero claro al ser tablas internas y tenerlo que hacer con un loop pues me supone tener que recorrer la misma tabla dos veces. ¿Sabeis si hay alguna manera de hacerlo más elegante? Muchas gracias. Saludos, Cris. |
#2
|
|||
|
|||
¿Con un COLLECT no puedes hacerlo?
Saludos |
#3
|
|||
|
|||
Hola,
Perfecto!! era justo lo que estaba buscando. Muchas gracias bisonye. Saludos. |
#4
|
|||
|
|||
He probado el collect y funciona, pero solo cuando el campo cantidad es diferente a 0. Me interesaría que aunque Cantidad sea 0 también se añada a la nueva tabla interna.
Hay alguna manera de hacer eso? Gracias. Saludos. |
#5
|
|||
|
|||
¿Quieres decir que si el campo es 0 con el collect no te crea una entrada con el valor a 0?
Pues creo que debería hacerte la entrada, siempre que no exista una entrada ya con lo que lo suma y como es 0 pues eso, 0 más. Si es nueva y no lo añade pues controla si el valor es 0 luego controla si la entrada existe y si no existe haces un append. Saludos |
#6
|
|||
|
|||
Hola bisonye
si que crea las entradas cuando la cantidad es 0, perdona, mi compañera me habia dicho que no, lo he comprovado y funciona perfectamente. Muchas gracias!!!! Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|