Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Error al hacer una consulta SQL (http://www.forosdelweb.com/f87/error-hacer-consulta-sql-568018/)

Gores 21/03/2008 04:24

Error al hacer una consulta SQL
 
Hola,

Tengo que hacer unas consultas SQL y en una de ellas no me lo permite. La consulta de selección es la siguiente:

SELECT HABDNI, HABNombre FROM TBHabitante, RELSocio, TBAsociacion WHERE TBAsociacion.ASONombre = ”Cáritas” AND TBSocio.SOCCargo = “voluntario” AND TBHabitante.HABDNI = RELSocio.HABDNI AND TBAsociacion.ASONombre = RELSocio.ASONombre;

Y despues al darle a vista me aparece lo siguiente:

Puede que el campo 'HABDNI' especificado haga referencia a más de una tabla de las mostradas en la cláusula FROM de la instrucción SQL.

Me podrian decir que tengo que hacer para corregirlo?

Saludos

Olizaldu2 21/03/2008 05:48

Re: Error al hacer una consulta SQL
 
Buenas

Solo te puedo decir el porque te está diciendo eso, sin las tablas delante no sabriá decirte como solucionarlo.

Según el error en dos de las tres tablas que has puesto tiene que haber un campollamado HABDNI. Eso es lo que pone.

Lo que puedes hacer es especificar la tabla => tabla.HABDNI

Espero que te sirva de algo la explicación. Ciao

Beakdan 21/03/2008 05:59

Re: Error al hacer una consulta SQL
 
Según los campos en el join, el campo "HABDNI" está en las tablas TBHabitante y RELSocio. Lo tienes en los resultados, pero no especificas de cual de las dos tablas debe tomarse.
Como recomendación extra, abandona la sintaxis que estás usando para los joins en favor de la especificada en el estándar SQL-92.

Gores 22/03/2008 04:21

Re: Error al hacer una consulta SQL
 
Hola,

Entonces como deberia de hacer la consulta porque si la especifico poniendo a que tabla pertenece no me aparece nada. Como lo podria hacer? Me podeis poner un ejemplo?

Saludos

Olizaldu2 22/03/2008 11:12

Re: Error al hacer una consulta SQL
 
Buenas

Haz una cosa para que yo me aclare de las tablas que tienes pon la descripción. Es decir haz desc tabla y ponme lo que sale a ver si así me aclaro más.
Y sino haz una cosa en la clausula where utiliza un signo más aqui

SELECT HABDNI, HABNombre FROM TBHabitante, RELSocio, TBAsociacion WHERE TBAsociacion.ASONombre = ”Cáritas” AND TBSocio.SOCCargo = “voluntario” AND TBHabitante.HABDNI = RELSocio.HABDNI (+) AND TBAsociacion.ASONombre = RELSocio.ASONombre;

Ahí en el otro lado del igual, a ver si así salen las que tu quieres.
Ciao

Gores 24/03/2008 03:23

Re: Error al hacer una consulta SQL
 
No entiendo bien lo que quieres decir con desc tabla. Me lo podrias explicar mejor? Donde tengo que poner eso?

Saludos

PD: lo del signo (+) no me a salido, dice que la sintaxis está mal.

Olizaldu2 24/03/2008 06:18

Re: Error al hacer una consulta SQL
 
Buenas

Lo primero ¿que programa utilizas MySQL, o SQL Plus, o algún otro? Yo he utilizado el SQL Plus, a lo mejr por eso no te funcina lo del mas.

Teóricamente si tu pones en la pantalla de comandos desc tabla, al igual que haces una consulta, te aparece todas las columnas de la tabla y de que tipo son.

A ver si al final lo sacamos je je.
Ciao


La zona horaria es GMT -6. Ahora son las 19:09.

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