![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Consulta con 3 inner join da error que falta operador
Buenas gente, necesito su ayuda en la sgte consulta. Es una base de datos de personal, en la cual la tabla PERSONAL contiene los campos relacionados con las demás tablas HORARIO, LUGAR Y ACTIVIDAD que se detallan a continuación:
PERSONAL PDNI (PK) PNROLEGAJO PAPELLIDO PNOMBRE PFINGRESO PCODACTIVIDAD (FK) PCODLUGAR (FK) PCODHORARIO (FK) PTELFIJO PTELCELULAR PGUARDIA PESTADO PFECHANAC POBSERVA HORARIO HCODHORARIO(PK) HTURNO HDESCTURNO LUGAR LCODLUGAR(PK) LNOMBRELUGAR LDESCLUGAR ACTIVIDAD ACODACTIVIDAD(PK) ATIPOACTIVIDAD ADESCACTIVIDAD Mi consulta es simple quiero mostrar en un QREPORT los campos que selcciono en el select cuando el parametro sea un DNI de otro formulario. Es una ficha de personal.
EL error es el siguiente SQL GENERAL ERROR Error de sintaxis falta operador en la expresion de consulta. personal.pcodhorario = horario.hcodhorario ALquien me podria dar una mano? SAludos ![]() |
#2
|
||||
|
||||
A simple vista, veo en el tercer join un espacio luego del alias del segundo campo mencionado que no creo sea correcto:
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() |
#3
|
|||
|
|||
Hola
te hace falta un campo
Saludos |
#4
|
|||
|
|||
En primer lugar gracias a ambos. Cambie las observaciones y me sigue dando el mismo Error de sintaxis 'personal.pcodhorario=horario.hcodhorario.
Por otro lado se que si no se repiten los campos entre tablas no es necesario especificar, pero como no la tengo clara todavia con el sql lo escribo asi para no confundirme!"
QUe podrá ser? Gracias Gente! Última edición por Casimiro Notevi fecha: 22-05-2012 a las 23:29:48. |
#5
|
||||
|
||||
Para no confundirte debes nombrar alias distintos a los nombres de las tablas, de la forma en que lo haces es muy fácil equivocarse, ejemplo:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
Bien si voy a empezar a utilizar alias entonces. gracias por el consejo
Por otro lado me sigue dando el error, ahora al reformular la sentencia me tira Error de sintaxis 'per.pcodhorario=hor.hcodhorario o sea el error sigue siendo el mismo,que sera? Las tablas son correspondientes en mismo tipo de campo y longitud. estan relacionadas. Hay un indice en la tabla personal que es por dni y otro por apellido. |
#7
|
||||
|
||||
Tendrás que verificar si es correcto el nombre de los campos. Ahí no podemos hacer nosotros nada, salvo que nos pases la estructura de la base de datos con esas tablas.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Aqui te estan faltando campos dentro del select (personal.pcodhorario, horario.hcodhorario,personal.pcodlugar y actividad,acodactividad), o no? |
#9
|
|||
|
|||
Gente vuelvo, gracias por la ultima observación agregue los campos y me sigue dando el mismo error, crei que era por el orden de asignación o sea que tendrían que estar invertidos los campos del otro lado del igual pero lo probé y naranjas.
PERSONAL PNROLEGAJO NUMERO PAPELLIDO TEXTO PNOMBRE TEXTO PFINGRESO FECHA PCODACTIVIDAD NUMERO PCODLUGAR NUMERO PCODHORARIO NUMERO PTELFIJO NUMERO PTELCELULAR NUMERO PGUARDIA LOGICO PESTADO LOGICO PFECHANAC FECHA POBSERVA TEXTO HORARIO HCODHORARIO NUMERO HTURNO TEXTO HDESCTURNO TEXTO LUGAR LCODLUGAR NUMERO LNOMBRELUGAR TEXTO LDESCLUGAR TEXTO ACTIVIDAD ACODACTIVIDAD NUMERO ATIPOACTIVIDAD TEXTO ADESCACTIVIDAD TEXTO Los campos numéricos son ENTEROS sin decimales Les pido disculpas que no nombre el motor de base de datos es access y el entorno es D7 Se que access no es lo mejor pero agarre todo asi! Sino escucho recomendaciones. Gracias gente! ![]() |
#10
|
|||
|
|||
Y si probas asi:
Ojo!!! No se si anda, ademas fijate bien los nombres de los campos porque en el inner join pusiste que un campo de la tabla lugar era PCodLugar y la estructura de las tablas que adjuntaste en el mensaje anterior ese campo lo nombras como LCodLugar, Revisa bien los nombres de los campos.- Saludos.- |
#11
|
||||
|
||||
Y de paso, una pregunta, ¿el mensaje de error exactamente es el que has indicado antes, en español, o lo has traducido para ponerlo aquí?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta que da Error : falta operador | aanil | SQL | 2 | 04-06-2010 08:36:51 |
falta operador | characo | Conexión con bases de datos | 4 | 30-03-2010 17:06:18 |
Consulta con inner join | juanjo123 | MySQL | 3 | 11-02-2010 22:34:16 |
Consulta con el operador AND | aanil | SQL | 4 | 23-01-2010 21:30:39 |
Problemas con Inner Join y operador AS | enecumene | Firebird e Interbase | 9 | 03-06-2008 18:40:03 |
![]() |
|