Problema con consulta sql

24/07/2003 - 10:06 por cousi | Informe spam
Hola a todos,

Tengo que hacer una consulta a tres tablas y la sentencia que hago es la
siguiente pero me da error, saben por que????

la sentencia es la siguiente:

SELECT nif, nombre, apellido, provincia, cate, cate1, idiomas FROM personal
INNER JOIN catespax ON (personal.nif = catespax.nif) INNER JOIN idiomas ON
(personal.nif = idiomas.nif) WHERE (las condiciones)

Ustedes saben donde esta mal esta sentencia.

Muchas gracias.

Jose Mª Cousiño

Preguntas similare

Leer las respuestas

#6 Edgar Contreras
24/07/2003 - 19:21 | Informe spam
Primero has un cambio a ver como te resulta, Supongo que este codigo lo
guardas en una variable de tipo String y se la pasas al objeto
adodb.recordset, cierto?... bien, intenta primero cambiando los signos "+"
por signos "&". Digamos que esto puede ser una primera patada de ahogado :).

Si no te resulta, intentemos dar una segunda patada de ahogado cambiando la
sentencia eliminando los INNER JOIN e incluyendo la condicion en la
sentencia WHERE, quedando de la siguiente manera:

"SELECT personal.nif, nombre, appellido, provincia, cate, cate1, idiomas " &
_
"FROM personal, catespax, idiomas " & _
"WHERE personal.nif=catespax.nif " & _
"AND personal.nif=idiomas.nif " & _
"AND ((provincia='" & cstr(cboprov.text) & "' " & _
"AND cate='" & cstr(cbocate.text) & "') " & _
"OR cate1='" & cstr(cbocate.text) & "') " & _
"AND idiomas='" & cstr(cboidioma.text) & "';"

Ejecutalo a ver que te resulta...

Suerte.

Saludos.
Edgar Contreras


(Guía de netiquette del foro)
http://perso.wanadoo.es/rubenvigon/foro

"La informacion es presentada como es y sin garantia alguna"
#7 Leonardo Azpurua
24/07/2003 - 19:51 | Informe spam
"cousi" escribió en el mensaje
news:#
Mostrar la cita
Hola, Jose:

Normalmente no utilizo los JOIN, porque no los entiendo por completo. Y
cuando se trata de INNER JOINS prefiero utilizar el select de multiples
tablas:

SELECT nif, nombre, apellido, provincia, cate, cate1, idiomas FROM
personal, catespax, idiomas
WHERE personal.nif = catespax.nif
AND personal.nif = idiomas.nif
WHERE provincia = @CBOPROV@
AND (cate = @CBOCATE@ or cate1 = @CBOCATE@ )
AND Idiomas = @CBOIDIOMA@

de todos modos, los JOIN en Access (no lo he probado con SQLS) parecen ser
operadores BINARIOS. Me parece recordar que la sintaxis correcta es algo así
como:

SELECT nif, nombre, apellido, provincia, cate, cate1, idiomas FROM
(personal INNER JOIN catespax ON (personal.nif = catespax.nif))
INNER JOIN idiomas ON (personal.nif = idiomas.nif)
WHERE ((provincia = '" + cboprov.text + "')
and (cate = '" + cbocate.text + "' or cate1 = '" + cbocate.text + "' ) and
(idiomas = '" + cboidioma.text + "'))

es decir, encerrando el primer JOIN entre paréntesis, para luego realizar el
segundo JOIN con el resultado del anterior. No recuerdo si hubo que utilizar
algun tipo de Alias.

Salud!

Leonardo
[MS MVP - VB]
#8 Edgar Contreras
24/07/2003 - 19:54 | Informe spam
"Leonardo Azpurua" <l a z p u r u a g (arroba) c a n t v (punto) n e t>
wrote in message news:

Mostrar la cita
jejeje ... Leonardo, todo es cuestion de que le pierdas la precaucion... :)

Saludos.
Edgar Contreras


(Guía de netiquette del foro)
http://perso.wanadoo.es/rubenvigon/foro

"La informacion es presentada como es y sin garantia alguna"
#9 cousi
24/07/2003 - 22:55 | Informe spam
Muchisimas gracias a los dos, lo voy a probar.

Jose Mª Cousiño




"cousi" escribió en el mensaje
news:
Mostrar la cita
personal
Mostrar la cita
#10 Edgar Contreras
25/07/2003 - 23:33 | Informe spam
No necesariamente, es requerido que des EXPLICITAMENTE el nombre de la tabla
solo cuando la columna aparece en mas de una de las tablas que estas
incluyendo en la consulta... :)

Al menos es lo que he encontrado en Sybase, Oracle, Informix, SQL Server...
:) Aunque aclaro no en las versiones mas nuevas...

Saludos.
Edgar Contreras


(Guía de netiquette del foro)
http://perso.wanadoo.es/rubenvigon/foro

"La informacion es presentada como es y sin garantia alguna"



"Norman A. Armas" wrote in message
news:
Mostrar la cita
al
Mostrar la cita
personal.provincia,
Mostrar la cita
ON
Mostrar la cita
Ads by Google
Search Busqueda sugerida