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

Esto existe..?

Estas en el tema de Esto existe..? en el foro de Bases de Datos General en Foros del Web. Hola buenas, quería usar esta consulta de base de datos pero el Analizador de Consultas me devuelve un error de sintaxis. La consulta es la ...
  #1 (permalink)  
Antiguo 01/06/2005, 05:11
 
Fecha de Ingreso: mayo-2003
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
Esto existe..?

Hola buenas,

quería usar esta consulta de base de datos pero el Analizador de Consultas me devuelve un error de sintaxis. La consulta es la siguiente:

DELETE Curs.* FROM Curs C INNER JOIN Centre Ce ON C.id_centre = Ce.id_centre WHERE baixa = 1

Y el error me lo da en la parte de Curs.*

¿Alguien sabe si esto se puede hacer, o bien, qué estoy haciendo mal si quiero eliminar todos los cursos de todos los centros que esten marcados como baja?

Gracias por adelantado.
  #2 (permalink)  
Antiguo 01/06/2005, 05:18
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
El problema lo tienes en que a Curs le has puesto un alias y, desde ese momento, tienes que usarlo para referenciarla.
Código:
DELETE C.* FROM Curs C INNER JOIN Centre Ce ON C.id_centre = Ce.id_centre WHERE baixa = 1
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 01/06/2005, 05:21
 
Fecha de Ingreso: mayo-2003
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
sí, ya lo había hecho así... pero me da el mismo error si le pongo Curs.* que si lo pongo C.*

por eso no lo entiendo....
  #4 (permalink)  
Antiguo 01/06/2005, 05:29
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Acabo de leer en el manual que en la versión 4.0 de mysql tienes que referenciar a la tabla a borrar por el nombre real de la tabla. Además, las condiciones de relación de las tablas no parece que puedan ir igual que en el join, sino que se pongan en la parte del where del delete, con esto sería:
Código:
DELETE Curs.* FROM Curs, Centre Ce 
where Curs.id_centre = Ce.id_centre and baixa = 1
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 01/06/2005, 05:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 58
Antigüedad: 21 años
Puntos: 0
jejejejjeje.. no sé quien me ha contestado pero me ha dado la solución...

No hay que poner el asterisco... simplemente el nombre de la tabla... en lugar de
DELETE Curs.* FROM... poner el DELETE Curs FROM...

Gracias de todas forma por la rapidez.

Un saludo
  #6 (permalink)  
Antiguo 01/06/2005, 06:08
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Pues vale, pero según el manual, el asterísco no debería ser el problema.
En fin, que son cosas que pasan.
Un saludo.
__________________
Estoy contagiado de Generación-I
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 21:18.