From: | Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu> |
---|---|
To: | Michel Vega Fuenzalida <michelvf(at)infomed(dot)sld(dot)cu>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: doble INNER JOIN |
Date: | 2011-08-30 20:06:48 |
Message-ID: | 294D3D02D5E18D42827B2ECFEADEB68818983AA943@mx-interno.vnz.uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El problema es que estás escribiendo mal la consulta, en el inner join estas repitiendo una tabla que ya está en la junta, prueba de esta forma:
SELECT
Tabla1.campo2,
Tabla1.campo3
FROM
Tabla1 INNER JOIN Tabla2 ON (Tabla1.campo2 = Tabla2.campo1) INNER JOIN Tabla3 ON (Tabla1.campo3 = Tabla3.campo1)
GROUP BY
Tabla1.campo2,
Tabla1.campo3
Saludos.
-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Michel Vega Fuenzalida
Enviado el: martes, 30 de agosto de 2011 02:48
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: [pgsql-es-ayuda] doble INNER JOIN
Buenas lista, sigo con preguntas, soy nuevo en SQL.
Tengo esto:
Tabla1:
campo1, campo2, campo3
1 1 1
2 1 2
3 2 1
4 2 1
5 1 2
Tabla2
campo1, campo2
1 casa
2 edificio
3 casa madera
Tabla 3
campo1, campo2
1 buena
2 menos buena
3 mala
Los tabla 2 tiene relación con el campo2 de la Tabla1 y,
la tabla 3 tiene relación con el campo3 de la Tabla1.
La consulta que quiero hacer es mostrar la Tabla1 pero con los valores
de la Tabla2 y Tabla3
Estoy haciendo esto:
SELECT
Tabla1.campo2,
Tabla1.campo3
FROM
Tabla1 INNER JOIN Tabla2 ON (Tabla1.campo2 = Tabla2.campo1),
Tabla1 INNER JOIN Tabla3 ON (Tabla1.campo3 = Tabla3.campo1)
GROUP BY
Tabla1.campo2,
Tabla1.campo3
Hacer esto da el siguiente error:
El nombre de la tabla: Tabla1, fue especificado más de una vez.
¿Qué tengo mal?
Sé que en el ejemplo hay problemas con los datos, que se repiten, etc.
pero en la realidad no es así, es solo para ilustrar el problema que
tengo.
Saludos
--
Usemos el Software Libre "Con todos y para el bien de todos"
José Martí, 26 de noviembre de 1891, Tampa.
Lic. Michel Vega Fuenzalida. Usuario Linux: 353763
Administrador de Red
Hospital General Docente "Heroes de Baire", Isla de la Juventud, Cuba.
Teléfono: (53) 46 323012 ext 212
--
Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas
Infomed: http://www.sld.cu/
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2011-08-30 20:26:32 | Re: Cálculo de porciento SOLUCIONADO |
Previous Message | Dario Andres Almonte Alonzo | 2011-08-30 19:47:59 | Re: Backup con servicio detenido |