Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Queries anidadas en MySQL (http://www.forosdelweb.com/f21/queries-anidadas-mysql-310515/)

caerolus 23/06/2005 12:45

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.

caerolus 23/06/2005 12:51

Es posible que lo haya hecho:
Código:

delete variable.* from variable left join sesion on variable.sid = sesion.sid where sesion.tiempo < 5
¿Qué os parece?

haron 23/06/2005 13:32

leches!

normalmente tenia que hacer un programita en estos casos. por que nadie me lo dijo?


La zona horaria es GMT -6. Ahora son las 22:23.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.