PostgreSQL - Como borrar registros a partir de una consulta

 
Vista:

Como borrar registros a partir de una consulta

Publicado por Nicolás Mendoza Hernández (16 intervenciones) el 31/10/2004 23:19:02
Hola

Quisiera saber como puedo hacerle para borrar todos los registros que me devuelve una consulta. Esta consulta es un resultrado de 3 consultas, de una extraigo ciertos valores que no quiero borrar. Esta es la consulta:

SELECT *
FROM(
SELECT *
FROM cambios INNER JOIN c_numero ON cambios.id_cambio = c_numero.id_cambio
WHERE cod_cve = 904060 AND campo = 26

except

SELECT * FROM (
SELECT *
FROM cambios INNER JOIN c_numero ON cambios.id_cambio = c_numero.id_cambio
WHERE cod_cve = 904060 AND campo = 26
ORDER BY fecha Desc
LIMIT 40
) AS x
) AS aborrar

Deseo borrar los registros que me devuelve esta consulta
O si hay alguna otra forma de hacerle acepto sugerencias.
De antemano Gracias

Atte.

Nicolas M H
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como borrar registros a partir de una consulta

Publicado por Dorian Kuroki (6 intervenciones) el 04/11/2004 00:39:54
Podes hacer lo siguiente:

----------------------------------------
DELETE FROM CAMBIOS WHERE OID IN (
SELECT OID
FROM(
SELECT OID
FROM cambios INNER JOIN c_numero ON cambios.id_cambio = c_numero.id_cambio
WHERE cod_cve = 904060 AND campo = 26

except

SELECT OID FROM (
SELECT OID
FROM cambios INNER JOIN c_numero ON cambios.id_cambio = c_numero.id_cambio
WHERE cod_cve = 904060 AND campo = 26
ORDER BY fecha Desc
LIMIT 40
) AS x
) AS aborrar
)

------------------------------

Primero proba haciendo SELECT antes de DELETE. Esto te tiene que devolver una lista de numeros (oids) estos numeros identifican a cada registro de ina instancia en PostgreSQL.

Suerte.

Dorian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar