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.