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

DELETE WHERE id IN (SELECT)

Estas en el tema de DELETE WHERE id IN (SELECT) en el foro de Mysql en Foros del Web. Buenas, tengo dos tablas: - roll_aplicacion --> idRoll, idAplicacion - roll_aplicacion_usuario --> idRoll, idUsuario y este DELETE no me funciona: Código PHP: DELETE  *  FROM roll_aplicacion_usuario WHERE idUsuario ...
  #1 (permalink)  
Antiguo 24/09/2012, 04:39
 
Fecha de Ingreso: julio-2005
Mensajes: 110
Antigüedad: 18 años, 9 meses
Puntos: 1
DELETE WHERE id IN (SELECT)

Buenas,
tengo dos tablas:
- roll_aplicacion --> idRoll, idAplicacion
- roll_aplicacion_usuario --> idRoll, idUsuario

y este DELETE no me funciona:
Código PHP:
DELETE FROM roll_aplicacion_usuario WHERE idUsuario=".$valor." AND (idRoll IN (SELECT idRoll FROM roll_aplicacion WHERE idAplicacion=3)) 
¿Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 24/09/2012, 04:43
 
Fecha de Ingreso: julio-2005
Mensajes: 110
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: DELETE WHERE id IN (SELECT)

Error imperdonable al poner * después del DELETE. Es lo que tiene el copy, paste........
Cita:
Iniciado por molina669 Ver Mensaje
Buenas,
tengo dos tablas:
- roll_aplicacion --> idRoll, idAplicacion
- roll_aplicacion_usuario --> idRoll, idUsuario

y este DELETE no me funciona:
Código PHP:
DELETE FROM roll_aplicacion_usuario WHERE idUsuario=".$valor." AND (idRoll IN (SELECT idRoll FROM roll_aplicacion WHERE idAplicacion=3)) 
¿Alguien puede ayudarme?
  #3 (permalink)  
Antiguo 24/09/2012, 06:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: DELETE WHERE id IN (SELECT)

Otra sintaxis, más ortodoxa:
Código MySQL:
Ver original
  1. DELETE roll_aplicacion_usuario
  2. FROM roll_aplicacion_usuario, roll_aplicacion RA
  3.     AR.idRoll = RA.idRoll
  4.     AND AR.idUsuario=".$valor."
  5.     AND RA.idAplicacion=3;
Siempre que se pueda, hay que evitar las subconsultas (a menos que sean de alta selectividad).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: delete, select, tabla
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 02:38.