Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error en consulta (https://www.clubdelphi.com/foros/showthread.php?t=18250)

RR76 07-02-2005 12:52:06

Error en consulta
 
Obtengo el siguiente error en una consulta:
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 1.
La consulta que estoy realizando es la siguiente:
SELECT NAME ,ORDER07

FROM TABLA_AYUNTAMIENTOS

WHERE ORDER07 = (SELECT CODIGO_POSTAL

FROM TABLA_PROVINCIAS )

El campo ORDER07 de TABLA_AYUNTAMIENTOS hay multiples filas que pueden tener cuatro valores diferente.
Esos cuatro valores son los que posee el campo CODIGO_POSTAL de TABLA_PROVINCIAS, que solo posee cuatro filas una con cada valor.
Yo lo que intento es obtener todos los NAME de TABLA_AYUNTAMIENTOS cuyo ORDER07 coincide con cada uno de los CODIGO_POSTAL.
Después de todo este roolo ¿alguien podría ayudarme?Gracias

lucianojdg 07-02-2005 13:07:17

El error esta en el where, ya que deberias usar In en vez de =

SELECT NAME ,ORDER07
FROM TABLA_AYUNTAMIENTOS
WHERE ORDER07 IN (SELECT CODIGO_POSTAL
FROM TABLA_PROVINCIAS )




Saludos

RR76 07-02-2005 13:19:34

Gracias por la ayuda. Lo he intentado con IN y me sigue dando el mismo error,he vuelto a mirar la definición de los campos por si eran de distinto tipo y está todo bien.

lucianojdg 07-02-2005 13:29:10

Otra forma de hacerlo es de la siguiente:

SELECT A.NAME, A.ORDER07
FROM TABLA_AYUNTAMIENTOS A, TABLA_PROVINCIAS B
WHERE A.ORDER07 = B.CODIGO_POSTAL

o, si quieres obtener todos los name, no importa que no esten en la tabla Provincias
podes hacerlo de esta forma:

SELECT A.NAME, A.ORDER07
FROM TABLA_AYUNTAMIENTOS A

LEFT JOIN TABLA_PROVINCIAS B ON B.CODIGO_POSTAL = A.ORDER07


Espero que te sirva

Saludos


La franja horaria es GMT +2. Ahora son las 18:10:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi