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

Eliminar Registros de la Tabla ...

Estas en el tema de Eliminar Registros de la Tabla ... en el foro de Mysql en Foros del Web. Hola Programadores les envio un coordial Saludo ... aprovecho para plantearles la siguiente necesidad : Tengo la Tabla Clientes con : idcliente, nombre, ciudad y ...
  #1 (permalink)  
Antiguo 22/01/2007, 18:14
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 17 años, 3 meses
Puntos: 0
Mensaje Eliminar Registros de la Tabla ...

Hola Programadores les envio un coordial Saludo ... aprovecho para plantearles la siguiente necesidad :

Tengo la Tabla Clientes con :

idcliente,
nombre,
ciudad

y la tabla Facturas con :

idcliente,
numfactura

Por rediseño del software se perdieron datos de la tabla Facturas ...,
y quedaron clientes sin facturas ..., Aqui es donde entra la consulta :
de Antemano ... Gracias ...
Primero muestrame todo los Clientes que no tienen facturas
segundo Borrame todo los Clientes que no tienen facturas
  #2 (permalink)  
Antiguo 23/01/2007, 02:29
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Eliminar Registros de la Tabla ...

Nota: Tu versión de mysql debe al menos la 4.1 sino no soportará subconsultas y deberás hacerlo vía JOIN.

Para seleccionar todos los clientes sin factura yo haría esto:

Código:
SELECT DISTINCT 
idcliente,
nombre 
FROM 
clientes
WHERE 
idcliente NOT IN (
	SELECT DISTINCT idcliente FROM facturas
	)
Y para borrar pues una de lo mismo

Código:
DELETE FROM 
clientes 
WHERE 
idcliente 
NOT IN (
	SELECT DISTINCT idcliente FROM facturas
	)
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #3 (permalink)  
Antiguo 23/01/2007, 21:28
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Eliminar Registros de la Tabla ...

La version que estoy usando es la 2.xxx
al navegar por la red encontre la consulta para mostrar los registros :

SELECT
t1.*
FROM
clientes t1
LEFT JOIN facturas t2 ON t1.idcliente = t2.idcliente
WHERE
t2.idcliente IS NULL

solo me falta la consulta para borrar ... Gracias ...
  #4 (permalink)  
Antiguo 24/01/2007, 03:32
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Eliminar Registros de la Tabla ...

Pues la misma pero con DELETE o sea:

Código:
DELETE 
FROM
clientes t1
LEFT JOIN facturas t2 ON t1.idcliente = t2.idcliente
WHERE
t2.idcliente IS NULL
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #5 (permalink)  
Antiguo 28/01/2007, 01:46
 
Fecha de Ingreso: enero-2007
Mensajes: 7
Antigüedad: 17 años, 3 meses
Puntos: 0
Mensaje Re: Eliminar Registros de la Tabla ...

yo tambien pense que era la respuesta ..., pero genera un error en Left Join

algo no le gusta ...
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




La zona horaria es GMT -6. Ahora son las 05:52.