Saltar al contenido

¿Copiar datos de una fila existente a otra fila existente en SQL?

Esta inquietud se puede tratar de variadas maneras, por lo tanto te damos la que para nosotros es la resolución más completa.

Solución:

Tal vez leí mal el problema, pero creo que ya ha insertado los registros del curso 11 y simplemente necesita actualizar aquellos que cumplen con los criterios que enumeró con los datos del curso 6.

Si este es el caso, querrá usar un UPDATEFROM declaración:

UPDATE MyTable
SET
    complete = 1,
    complete_date = newdata.complete_date,
    post_score = newdata.post_score
FROM
    (
    SELECT
        userID,
        complete_date,
        post_score
    FROM MyTable
    WHERE
        courseID = 6
        AND complete = 1
        AND complete_date > '8/1/2008'
    ) newdata
WHERE
    CourseID = 11
    AND userID = newdata.userID

Consulte esta pregunta SO relacionada para obtener más información.

UPDATE c11
SET
    c11.completed= c6.completed,
    c11.complete_date = c6.complete_date,
-- rest of columns to be copied
FROM courses c11 inner join courses c6 on
    c11.userID = c6.userID 
    and c11.courseID = 11 and c6.courseID = 6
     -- and any other checks

Siempre he visto la cláusula From de una actualización, como una de una selección normal. En realidad, si desea verificar qué se actualizará antes de ejecutar la actualización, puede reemplazar las partes de actualización con un c11.* seleccionado. Vea mis comentarios sobre la respuesta del pato cojo.

Copie un valor de una fila a cualquier otra fila calificada dentro de la misma tabla (o tablas diferentes):

UPDATE `your_table` t1, `your_table` t2
SET t1.your_field = t2.your_field
WHERE t1.other_field = some_condition
AND t1.another_field = another_condition
AND t2.source_id = 'explicit_value'

Comience por alias de la tabla en 2 referencias únicas para que el servidor SQL pueda diferenciarlas

A continuación, especifique los campos que desea copiar.

Por último, especifique las condiciones que rigen la selección de las filas.

Dependiendo de las condiciones, puede copiar de una sola fila a una serie, o puede copiar una serie a otra serie. También puede especificar diferentes tablas, e incluso puede usar subselecciones o uniones para permitir el uso de otras tablas para controlar las relaciones.

valoraciones y comentarios

Si conservas alguna incertidumbre y forma de perfeccionar nuestro escrito eres capaz de dejar una aclaración y con gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *