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

Ayuda!! Que tengo mal en esta pavadita????

Estas en el tema de Ayuda!! Que tengo mal en esta pavadita???? en el foro de Bases de Datos General en Foros del Web. Alguien sabe porque puede ser que no funcione cuando comparo algo con una lista generada por una subconsulta . La tabla esta todo bien, hasta ...
  #1 (permalink)  
Antiguo 20/02/2005, 22:41
 
Fecha de Ingreso: febrero-2005
Mensajes: 66
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Ayuda!! Que tengo mal en esta pavadita????

Alguien sabe porque puede ser que no funcione cuando comparo algo con una lista generada por una subconsulta . La tabla esta todo bien, hasta intento con el ejemplo mas sencillo de todos, y no hay forma no andan ninguno. El problema esta cuando comparo con una lista generada con la subconsulta, porque si yo escribo la lista esta todo bien, ahí si funcionan.

La consulta es por ejemplo (esta es con IN, pero es lo mismo con NOT IN, EXISTS y todo):

SELECT *
FROM escritor
WHERE escritor.id_escritor IN (SELECT poema.id_escritor
FROM poema)

y me dice:

Error Code : 1064
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT poema.id_escritor

FROM poema)' at line 5
(0 ms taken)

Necesito ayuda, por fa, ya no se que hacer
  #2 (permalink)  
Antiguo 21/02/2005, 04:29
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Supongo que es porque usas una versión de mysql que no admite subconsultas. Ten en cuenta que MySql sólo las admite a partir de la versión 4.1 (si no me equivoco).
De todas formas, esa misma conulta la puedes obtener cruzando las tablas:
Código:
select unique escritor.* 
from escritor join poema on escritor.id_escritor=poema.idescritor
si por un casual esto no te funcionara, también podrías hacerlo
Código:
select escritor.idescritor, count(*)
from escritor join poema on escritor.id_escritor=poema.idescritor
group by 1
con el dato añadido de te dará el número de poemas por escritor.

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 09:57.