Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/03/2008, 05:47
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Error al hacer la consulta SQL

El tema es así:
La consulta:
Código:
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;
Está pidiendo por los campos HABDNI, HABNombre, el campo HABNombre existe en una sola tabla (Supongo que Habitante), pero el campo HABDNI debe estar en al menos dos tablas distintas (tal vez uno como clave), pero como lo que haces es un JOIN, en la tabla aparecen los campos de las dos tablas, con el mismo nombre.
Si lo que quieres hacer es eliminar una columna de la tabla lo que tienes que poner es:
Código:
FROM TBHabitante H JOIN RELSocio S ON H.HABINI = S.HABINI JOIN TBAsociacion A ON H.HABINI = A.HABINI
suponiendo que el campo está en todas. Sino, habría que hacer algo así:

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

[/code]
O sea, acotar al dato de salida a una sola tabla.