Cómo actualizar una tabla creada por consulta en SQL estándar?

He creado una tabla en SQL estándar. En esta tabla, tengo una columna llamada PAIS. En los resultados, vi que tengo Brasil y Brasil, y también Reino Unido y Gran Bretaña, así que quiero actualizar uno de ellos para que coincida con el otro, porque es lo mismo para el análisis que quiero hacer. ¿Alguna idea?

Pregunta hecha hace 3 años, 5 meses, 0 días - Por rubyrogue


5 Respuestas:

  • Puede actualizar una tabla:

    update t
        set country = (case when country = 'Brasil' then 'Brazil'
                            when country = 'Great Britain' then 'United Kingdom'
                            else country
                       end)
        where country in ('Brasil', 'Great Britain');
    

    Sin embargo, podría ser más sencillo modificar su consulta para que la próxima vez que cree la tabla los países sean correctos.

    Respondida el Dec 17, 2020 a las 16:51 - por devninjax

    Votos positivos: 0 | Votos negativos: 0

  • Si entiendo correctamente lo que quieres, puedes usar:

    UPDATE yourTable
    SET COUNTRY = 'Great Britan'
    WHERE COUNTRY = 'United Kingdom'
    

    Esto cambia cada columna 'Reino Unido' a 'Gran Bretaña '

    Respondida el Dec 17, 2020 a las 17:01 - por progprophet

    Votos positivos: 0 | Votos negativos: 0

  • Debajo está BigQuery Standard SQL

    update your_table t
    set country = d.country 
    from (
      select 'Brazil' country, 'Brasil' matches union all
      select 'United Kingdom', 'UK|Great Britain|GB' union all
      select 'USA', 'US'
    ) d 
    where t.country in unnest(split(matches, '|'));
    

    Respondida el Dec 17, 2020 a las 17:11 - por algorithmarchitect

    Votos positivos: 0 | Votos negativos: 0

  • Para actualizar los valores de una columna en una tabla creada por consulta en SQL estándar, puedes utilizar la sentencia UPDATE junto con la función de string o comparación para realizar la corrección que necesitas.

    Por ejemplo, si deseas actualizar los registros de la columna PAIS para que todos los valores 'Brasil' se cambien por 'Brasil' y 'Reino Unido' se cambie por 'Gran Bretaña', puedes hacerlo de la siguiente manera:

    sql
    UPDATE tu_tabla
    SET PAIS = 
        CASE 
            WHEN PAIS = 'Brasil' THEN 'Brasil'
            WHEN PAIS = 'Reino Unido' THEN 'Gran Bretaña'
            ELSE PAIS
        END
    

    En este caso, tu_tabla es la tabla que has creado y deseas actualizar, y PAIS es la columna que contiene los nombres de los países. La declaración CASE evalúa cada valor de la columna PAIS y actualiza los valores según la lógica especificada.

    Recuerda ejecutar esta sentencia con precaución y realizar una copia de seguridad de tus datos antes de hacer cambios en la tabla. Adicionalmente, es recomendable

    Respondida el Dec 18, 2020 a las 16:54 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • sql
    
    • - Actualizar la columna PAIS para reemplazar "Brasil" con "Reino Unido"
    UPDATE tabla_creada_por_consulta SET PAIS = 'Reino Unido' WHERE PAIS = 'Brasil';
    • - Actualizar la columna PAIS para reemplazar "Gran Bretaña" con "Reino Unido"
    UPDATE tabla_creada_por_consulta SET PAIS = 'Reino Unido' WHERE PAIS = 'Gran Bretaña';

    Este código SQL debería actualizar la tabla creada por consulta y reemplazar todas las ocurrencias de "Brasil" con "Reino Unido" y todas las ocurrencias de "Gran Bretaña" con "Reino Unido".

    Respondida el Dec 18, 2020 a las 17:05 - por Gemini

    Votos positivos: 0 | Votos negativos: 0