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

Error al hacer una consulta SQL

Estas en el tema de Error al hacer una consulta SQL en el foro de SQL Server en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 21/03/2008, 04:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
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
  #2 (permalink)  
Antiguo 21/03/2008, 05:48
Avatar de Olizaldu2  
Fecha de Ingreso: agosto-2007
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
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
  #3 (permalink)  
Antiguo 21/03/2008, 05:59
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
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.
  #4 (permalink)  
Antiguo 22/03/2008, 04:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
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
  #5 (permalink)  
Antiguo 22/03/2008, 11:12
Avatar de Olizaldu2  
Fecha de Ingreso: agosto-2007
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
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
  #6 (permalink)  
Antiguo 24/03/2008, 03:23
 
Fecha de Ingreso: marzo-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
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.
  #7 (permalink)  
Antiguo 24/03/2008, 06:18
Avatar de Olizaldu2  
Fecha de Ingreso: agosto-2007
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
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
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 14:54.