FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con un LEFT JOIN
Tengo dos tablas con estos campos:
Tabla 1 - PersonaEstoy haciendo esta consulta, que en su momento estará dentro de otra más compleja:Codigo INTEGERTabla 2 - Electos Código PHP:
Y no se me ocurre como montar la consulta |
#2
|
||||
|
||||
Ya lo solucioné. Bastaba con sacar una de las condiciones del LEFT JOIN: la de AND A.Junta = B.Junta
|
#3
|
||||
|
||||
Gracias por compartir la solución
Un saludo |
#4
|
||||
|
||||
Espérate, que no estoy seguro de haber acertado.
|
#5
|
||||
|
||||
Mejor nos dices qué es lo que quieres conseguir.
Recuerda este mensaje/consejo. |
#6
|
||||
|
||||
Lo cierto es que no sé como explicarlo. Si hago la prueba sólo con lo que me da probelmas funciona a la perfección, pero en cuanto lo acoplo en el query completo no hay manera. No me importaría poner a vuestra disposición la BB.DD. completa y enviaros el query que he montado, pero es que me cuesta explicar lo que busco. Seguiré probando a ver si doy con la respuesta y/o como explicar mejor lo que quiero.
|
#7
|
||||
|
||||
Aunque nos dieras la BD, si no sabemos qué quieres conseguir, de nada serviría.
|
#8
|
||||
|
||||
Tienes razón.
A ver si consigo explicarme: Tengo que montar un query con FB 2.5 para generar un informe y necesito, entre otros datos, la identidad de dos fichas de acuerdo con unas condiciones. Esta parte de la consulta puede devolver ninguna respuesta, una o dos, pero nunca más de dos, y de ahí estar usando un JOIN. El query que estoy probando es este: Código PHP:
Cita:
Si en el query saco de los LEFT JOIN el trozo K.Junta = B.Codigo / M.Junta = B.Codigo y lo pongo en las condiciones del WHERE (AND K.Junta = B.Codigo AND M.Junta = B.Codigo), no me devuelve nada de nada y, de entrada, hay seguro una única ficha que cumple el segundo LEFT JOIN. Si en vez de AND ... AND uso AND ... OR, me devuelve más de 300.000 filas, lo cual es absurdo porque ninguna de las tablas tiene esa cantidad de filas. |
#9
|
||||
|
||||
La definición de las tablas, que se me ha olvidado, es esta:
DatLoc CREATE TABLE DatLoc (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Junta CREATE TABLE Junta (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Zona CREATE TABLE Zona (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Partido CREATE TABLE Partido (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Poblacion CREATE TABLE Poblacion (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,HisElec CREATE TABLE HisElec (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Elecciones CREATE TABLE Elecciones (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,Proceso CREATE TABLE Proceso (CodPrv VARCHAR(3) DEFAULT '99' NOT NULL,La cuestión es que en la tabla Electos, para cada valor del campo Junta sólo puede haber como máximo una única fila para esos valores de PRESIDENTE y/o PORTAVOZ. |
#10
|
||||
|
||||
Pero sigues sin decir lo único que debes decir: qué quieres conseguir.
|
#11
|
||||
|
||||
Está puesto: necesito, entre otros datos, la identidad de dos fichas de acuerdo con unas condiciones. Esta parte de la consulta puede devolver ninguna respuesta, una o dos, pero nunca más de dos, y de ahí estar usando un JOIN
|
#12
|
||||
|
||||
Cita:
la identidad de dos fichas... qué fichas. de acuerdo con unas condiciones... qué condiciones. puede devolver ninguna respuesta, una o dos, pero nunca más de dos, y de ahí estar usando un JOIN... absolutamente nada que ver. Ángel, no sabemos qué quieres conseguir exactamente, solamente vemos el select que has hecho y que dices que no sirve. Tienes que decir algo así como "necesito los registros de la tabla zona donde el codigo esté en municipio y que su poblacion sea la del usuario de la tabla partido que tenga fecha entre aaaa y bbbb que esté en la tabla censo y que su fecha de alta sea del año pasado y su nombre sea luis. Por decir algo. |
#13
|
||||
|
||||
Tienes razón. ¿Ves como me iba a costar explicarlo? Dejadme pensarlo un poco como lo cuento.
|
#14
|
||||
|
||||
A ver si ahora soy capaz de hacerme entender. Tengo que meter este query:
Código PHP:
Código PHP:
|
#15
|
||||
|
||||
#16
|
||||
|
||||
¿Qué? ¿Cómo lo ves?
|
#17
|
||||
|
||||
Cita:
Código PHP:
|
#18
|
||||
|
||||
Ángel, como he comentado antes, y creía que lo habías entendido, todo eso no nos sirve de nada.
Lo único que necesitamos saber es qué datos necesitas, de qué tablas, con qué parámetros, etc. y eso todavía no lo sabemos. ¿Seguro que has leído y has entendido lo que te enlacé antes? |
#19
|
||||
|
||||
Cita:
|
#20
|
||||
|
||||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con consulta left outer join | hebam | SQL | 4 | 06-09-2007 03:43:27 |
usando LEFT JOIN o RIGHT JOIN | alcides | SQL | 8 | 03-05-2007 17:35:46 |
left join e inner join duda | Patricio | SQL | 0 | 26-04-2007 22:06:43 |
Problemas con un left outer join en FB2 | TJose | Firebird e Interbase | 12 | 19-02-2007 14:11:38 |
LEFT OUTER JOIN e INNER JOIN Juntos | alcides | SQL | 3 | 08-07-2005 18:06:27 |
|