Dadas 2 o más filas que se seleccionan para fusionarse, una de ellas se identifica como la fila de la plantilla. Las otras filas deben fusionar sus datos en cualquier columna de valores nulos que tenga la plantilla.Intentando combinar filas en una fila con ciertas condiciones
Ejemplo datos:
Id Name Address City State Active Email Date
1 Acme1 NULL NULL NULL NULL [email protected] 3/1/2011
2 Acme1 1234 Abc Rd Springfield OR 0 [email protected] 1/12/2012
3 Acme2 NULL NULL NULL 1 [email protected] 4/19/2012
decir que un usuario ha elegido fila con Id 1 como la fila de plantilla, y filas con Ids 2 y 3 son a combinar en la fila 1 y luego eliminado. Las columnas con valores nulos en la fila Id 1 deben rellenarse (si existe) con el valor no nulo más reciente (ver Fecha), y los valores no nulos ya presentes en la fila Id 1 se deben dejar como están. El resultado de esta consulta en los datos anteriores debería ser exactamente esto:
Id Name Address City State Active Email Date
1 Acme1 1234 Abc Road Springfield OR 1 [email protected] 3/1/2011
en cuenta que el valor activo es 1, y no porque la fila 0 3 Id tenía la fecha más reciente.
P.S. Además, ¿hay alguna forma de hacerlo sin definir explícitamente/saber de antemano cuáles son todos los nombres de las columnas? La tabla real con la que estoy trabajando tiene una tonelada de columnas, y las nuevas se agregan todo el tiempo. ¿Hay alguna manera de buscar todos los nombres de columna en la tabla y luego usar esa subconsulta o temptable para hacer el trabajo?
¿El correo electrónico también debería ser [email protected], o se considera que Acme2 está fuera de los límites de la fusión? –
¿Cómo identifica el grupo de datos? Supongo que quieres fusionar dobletes de datos. Entonces, ¿cómo identifica un grupo de datos en miles o más de registros en su tabla? Si sabes eso, entonces puedes escribir un procedimiento almacenado para hacer esto. Si es necesario, puedo escribir un SP de muestra como respuesta, luego – YvesR
Hola Russell Fox, no, el correo electrónico debe permanecer [email protected] porque ya estaba presente en la fila Id 1. Solo las columnas de valor nulo en Id 1 deberían modificarse. – noahC