双查询两个字段中的表(INNER JOIN?)

时间:2014-06-23 19:10:10

标签: mysql

我希望我能解释一下自己。

我有一对多表(asignaciones)指向校友和投资表。这两个表都有一个institucionID,指向instituciones表。

我需要(在一个查询中)得到校友和投资的两个机构。我有这个,但不完整。我猜是因为最后一次内连接中的AND:

SELECT
alumnos.alumnosID,
invest.investigadoresID,
asignaciones.alumnosID AS alumnosID1,
asignaciones.investigadoresID AS investigadoresID1,
instituciones.institucion
FROM alumnos
INNER JOIN asignaciones ON alumnos.alumnosID = asignaciones.alumnosID
INNER JOIN invest ON asignaciones.investigadoresID = invest.investigadoresID
INNER JOIN instituciones ON alumnos.institucionesID = instituciones.institucionesID AND invest.institucionesID = instituciones.institucionesID

这缺乏第二个机构。我只得到一个

对此的任何提示都非常感激

1 个答案:

答案 0 :(得分:0)

此查询解决了您的问题:

SELECT
alumnos.alumnosID,
invest.investigadoresID,
asignaciones.alumnosID AS alumnosID1,
asignaciones.investigadoresID AS investigadoresID1,
instituciones.institucion
instituciones1.institucion
FROM alumnos
INNER JOIN asignaciones ON alumnos.alumnosID = asignaciones.alumnosID
INNER JOIN invest ON asignaciones.investigadoresID = invest.investigadoresID
INNER JOIN instituciones instituciones ON alumnos.institucionesID = instituciones.institucionesID 
INNER JOIN instituciones instituciones1 ON  invest.institucionesID = instituciones1.institucionesID

你必须两次加入最后一张桌子。

相关问题