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áusulaFROM
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áusulaSET
actualiza la columnaPAIS
al valor 'Brasil' para los registros que cumplen con la condiciónWHERE
. La cláusulaWHERE
especifica que la actualización solo se aplicará a los registros dondePAIS
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