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 techsavvypro


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 binarybuilder

    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 16:59 - por cyberscribe

    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:08 - por bytebarde61c

    Votos positivos: 0 | Votos negativos: 0

  • Para actualizar la columna PAIS en la tabla que has creado, puedes utilizar la sentencia UPDATE en SQL estándar. A continuación te muestro un ejemplo de cómo puedes hacerlo para unificar los valores de "Brasil" y corregir la diferencia entre "Reino Unido" y "Gran Bretaña":

    sql
    UPDATE TuTabla
    SET PAIS = 'Brasil'
    WHERE PAIS = 'Brazil';
    
    UPDATE TuTabla
    SET PAIS = 'Reino Unido'
    WHERE PAIS = 'Gran Bretaña';
    
    

    Recuerda reemplazar TuTabla por el nombre real de tu tabla en la base de datos. Con estas sentencias, unificarás los valores para que coincidan y puedas realizar el análisis de forma consistente.

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

    Votos positivos: 0 | Votos negativos: 0

  • Actualizar una tabla creada por consulta en SQL estándar

    Para actualizar una tabla creada por consulta en SQL estándar, puedes utilizar la sentencia UPDATE con la cláusula FROM para seleccionar la tabla de consulta:

    sql
    UPDATE (
      SELECT 
      FROM consulta_tabla
    ) SET columna = 'valor_actualizado'
    WHERE condicion;
    

    Ejemplo:

    Para actualizar la columna PAIS en la tabla creada por consulta, puedes utilizar la siguiente sentencia:

    sql
    UPDATE (
      SELECT 
      FROM consulta_tabla
    ) SET PAIS = 'Brasil'
    WHERE PAIS IN ('Brasil', 'Reino Unido');
    

    Explicación:

    La subconsulta SELECT </strong> FROM consulta_tabla selecciona todos los registros de la tabla creada por consulta. La cláusula SET actualiza la columna PAIS al valor 'Brasil' para los registros que cumplen con la condición WHERE. La cláusula WHERE especifica que la actualización solo se aplicará a los registros donde PAIS es 'Brasil' o 'Reino Unido'.

    Nota:

    Las sentencias UPDATE no son transaccionales en SQL estándar, lo que significa que los cambios se aplican inmediatamente y no se pueden deshacer. Es recomendable hacer una copia de seguridad de la tabla antes de realizar cualquier actualización para evitar la pérdida de datos.

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

    Votos positivos: 0 | Votos negativos: 0