Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2005, 12:45
Avatar de caerolus
caerolus
 
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 19 años, 9 meses
Puntos: 1
Queries anidadas en MySQL

Hola a todos, estoy teniendo un problema con MySQL, porque no soporta queries anidadas. Lo que tengo es esto:
Código:
create table sesion(
	sid		int			not null,
	tiempo		int			not null,
	primary key (sid)
);
create table variable(
	sid		int			not null,
	nombre		int			not null,
	valor		int			not null,
	primary key(sid, nombre),
	foreign key (sid) references sesion (sid)
);
Pues bien, querría hacer una query para borrar todos los registros de variable cuyo tiempo en la tabla sesion sea menor que 5, por ejemplo, además de los registros de sesion que cumplan esa misma condición.
Hacer un select sobre las tablas es muy sencillo:
Código:
select * from variable, sesion where variable.sid = sesion.sid and sesion.tiempo < 5
Pero el problema está en borrar los registros de la tabla variable. Lo suyo sería esto:
Código:
delete from variable where sid in (select sid from sesion where tiempo < 5)
Pero en MySQL esto no va, porque tiene una query anidada.
Alguien sabe como arreglar esto de una forma decente, sin tener que andar haciendo guarrerías?
Gracias.
__________________
Mi página personal: Julián Urbano