Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

eliminar registros

Estas en el tema de eliminar registros en el foro de SQL Server en Foros del Web. Hola tengo la siguiente tabla NOMBRE CALLE | ALTURA | FECHA LLICO 524 01/01/1900 LLICO 525 01/30/2001 LLICO 529 02/03/2005 LLICO 524 02/02/2005 LLICO 521 ...
  #1 (permalink)  
Antiguo 03/09/2008, 14:56
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
eliminar registros

Hola tengo la siguiente tabla

NOMBRE CALLE | ALTURA | FECHA
LLICO 524 01/01/1900
LLICO 525 01/30/2001
LLICO 529 02/03/2005
LLICO 524 02/02/2005
LLICO 521 02/08/2005
LLICO 524 02/01/2005


QUIERO ELIMINAR LOS DATOS Q SE REPITEN EN NOMBRE CALLE Y ALTURA OSEA
quedaria

LLICO 525 01/30/2001
LLICO 529 02/03/2005
LLICO 521 02/08/2005

si alguien me ayudara plz :D!
  #2 (permalink)  
Antiguo 03/09/2008, 17:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Asi deberia funcionar:
Cita:
select t1.NOMBRE_CALLE, t1.ALTURA, t1.FECHA
from tu_tabla t1
left join (
select NOMBRE_CALLE, ALTURA, FECHA
from tu_tabla
group by NOMBRE_CALLE, ALTURA, FECHA
having count(1)>1
) t2 on t1.NOMBRE_CALLE=t2.NOMBRE_CALLE and t1.ALTURA=t2.ALTURA and t1.FECHA=t2.FECHA
where t2.NOMBRE_CALLE is null
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 04/09/2008, 08:02
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

CON DELETE COMO QUEDARIA? = o no?
  #4 (permalink)  
Antiguo 04/09/2008, 08:13
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

para eliminar los repetidos porque con ese instruccion me los muestra solamente :p
  #5 (permalink)  
Antiguo 04/09/2008, 08:19
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Cita:
delete from tu_tabla t1
left join (
select NOMBRE_CALLE, ALTURA, FECHA
from tu_tabla
group by NOMBRE_CALLE, ALTURA, FECHA
having count(1)>1
) t2 on t1.NOMBRE_CALLE=t2.NOMBRE_CALLE and t1.ALTURA=t2.ALTURA and t1.FECHA=t2.FECHA
where t2.NOMBRE_CALLE is null
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 04/09/2008, 08:22
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

Código:
DELETE from SRRUTA2 t1 left join (
select CR2, CR3, CR4, CR5, CR6, CR7
from SRRUTA2
group by CR2, CR3, CR4, CR5, CR6, CR7
having count(1)>1
) t2 on t1.CR2=t2.CR2 and t1.CR3=t2.CR3
where t2.CR2 is null
Mens. 102, Nivel 15, Estado 1, Línea 1
Sintaxis incorrecta cerca de 't1'.
Mens. 102, Nivel 15, Estado 1, Línea 6
Sintaxis incorrecta cerca de 't2'.


:p
  #7 (permalink)  
Antiguo 04/09/2008, 08:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

A ver prueba asi:
DELETE SRRUTA2 from SRRUTA2...
Que significa ":p"?
---
Ojo: el JOIN debe hacerse por CR2, CR3, CR4, CR5, CR6, CR7
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 04/09/2008, 08:37
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

si ejecuto esa consulta me eliminara todos los registros que se repiten?


lo que yo quiero es que me deje los registros q no se repiten

:P es una carita con la lengua afuera ;p xD
  #9 (permalink)  
Antiguo 04/09/2008, 08:39
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

Código:
DELETE SRRUTA2 from SRRUTA2 left join (
select CR2, CR3, CR4, CR5, CR6, CR7
from SRRUTA2
group by CR2, CR3, CR4, CR5, CR6, CR7
having count(1)>1
) t2 on t1.CR2=t2.CR2 and t1.CR3=t2.CR3
where t2.CR2 is null

me sale el error
Mens. 4104, Nivel 16, Estado 1, Línea 1
El identificador formado por varias partes "t1.CR2" no se pudo enlazar.
Mens. 4104, Nivel 16, Estado 1, Línea 1
El identificador formado por varias partes "t1.CR3" no se pudo enlazar.


como me kedaria :D?
  #10 (permalink)  
Antiguo 04/09/2008, 08:44
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Que distraido que soy.
Cita:
DELETE from SRRUTA2 t1 left join (
select CR2, CR3, CR4, CR5, CR6, CR7
from SRRUTA2
group by CR2, CR3, CR4, CR5, CR6, CR7
having count(1)>1
) t2 on t1.CR2=t2.CR2 and t1.CR3=t2.CR3 and t1.CR4=t2.CR4 and t1.CR5=t2.CR5 and t1.CR6=t2.CR6 and t1.CR7=t2.CR7
where t2.CR2 is null
Faltaba el alias t1.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #11 (permalink)  
Antiguo 04/09/2008, 08:53
Avatar de rj69  
Fecha de Ingreso: agosto-2008
Ubicación: Melipilla
Mensajes: 49
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: eliminar registros

has pensado probar cambiando el left por un inner???? nose, se me ocurre para queno te deje registros con valores null
  #12 (permalink)  
Antiguo 04/09/2008, 09:11
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

mmm gracias :D

pero me ha funcionado con el siguiente codigo

Código:
delete tbl from
(select row_number() over(partition by nombre_calle, altura order by fecha desc) as 'ID'
from calles) tbl

where ID<>1
muchas gracias por tu amabilidad :D!
  #13 (permalink)  
Antiguo 04/09/2008, 09:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: eliminar registros

Ya hicieron pruebas????

create table #MyTemporal (CalleNombre varchar(50), altura int, fecha datetime)
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',524,'01/01/1900')
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',525,'01/30/2001')
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',529,'02/03/2005')
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',524,'02/02/2005')
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',521,'02/08/2005')
insert into #MyTemporal (CalleNombre, altura, fecha) values('LLICO',524,'02/01/2005')

select * from #MyTemporal

DELETE from #MyTemporal t1 left join (
select CalleNombre, altura
from #MyTemporal
group by CalleNombre, altura
having count(1)>1
) t2
on t1.CalleNombre=t2.CalleNombre
and t1.altura=t2.altura
where t2.altura is null

Errores:
Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 't1'.
Msg 170, Level 15, State 1, Line 6
Line 6: Incorrect syntax near 't2'.
  #14 (permalink)  
Antiguo 04/09/2008, 11:09
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Si pues, no lo habia probado.
Cita:
DELETE from #MyTemporal
where EXISTS(
SELECT 1 FROM (
select CalleNombre, altura
from #MyTemporal
group by CalleNombre, altura
having count(1)>1
) t2 WHERE #MyTemporal.CalleNombre=t2.CalleNombre and #MyTemporal.altura=t2.altura
)
Al amigo pablokes le falto indicar la version de SQL.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #15 (permalink)  
Antiguo 04/09/2008, 11:53
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

era sql server 2005 xD!
  #16 (permalink)  
Antiguo 04/09/2008, 12:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: eliminar registros

Lo dicho, la adivinacion no se me ha dado ultimamente
  #17 (permalink)  
Antiguo 04/09/2008, 12:08
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: eliminar registros

sorry ;( .
  #18 (permalink)  
Antiguo 04/09/2008, 13:57
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Ahora que se difunda mas la version 2008, sera obligatorio indicar la version que uno use.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #19 (permalink)  
Antiguo 04/09/2008, 14:51
Avatar de rj69  
Fecha de Ingreso: agosto-2008
Ubicación: Melipilla
Mensajes: 49
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: eliminar registros

Flaviovich, nuevamente estoy completamente deacuerdo,
mientras mas datos tengamos de sus problemas, mas facil sera entenderlos y asi poder darles una solucion,
como ya dije una vez " AYUDENOS A AYUDARLOS"
  #20 (permalink)  
Antiguo 05/09/2008, 11:35
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: eliminar registros

Amigo Flaviovich, creo que eso fue obligatorio del brinco que dimos de la 6.x a la 7.x, digo, para aquellos que ya llevamos algo de tiempo en esto.

Saludos
  #21 (permalink)  
Antiguo 05/09/2008, 11:53
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: eliminar registros

Bueno, yo estoy en esto desde hace mas de un año, y pues las versiones que mencionas no las he conocido. Ahora estoy aprendiendo 2005.
En fin, esperemos que la gente describa bien sus problemas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:44.