我正在尝试从裁判(ArbPrin、ArbAux、Anotador、Crono、Op24
)那里获取城镇(Localidad
)。我进行了查询,但结果不正确。例如,如果我只有 ArbPrin
和 Anotador
,它会为所有裁判返回 ArbPrin
镇。如果 ArbPrin
来自马拉加,而 Anotador
来自托雷莫利诺斯,则所有裁判的结果都是马拉加。
这是查询:
SELECT L1.Nombre AS'LocPrin', L2.Nombre AS'LocAux', L3.Nombre AS'LocAn',
L4.Nombre AS'LocCro', L5.Nombre AS'LocOp' FROM PARTIDO
INNER JOIN EQUIPO_ARBITRAL A1 ON PARTIDO.ArbPrin=A1.Codigo_arbitro
INNER JOIN EQUIPO_ARBITRAL A2 ON PARTIDO.ArbPrin=A2.Codigo_arbitro
INNER JOIN EQUIPO_ARBITRAL A3 ON PARTIDO.ArbPrin=A3.Codigo_arbitro
INNER JOIN EQUIPO_ARBITRAL A4 ON PARTIDO.ArbPrin=A4.Codigo_arbitro
INNER JOIN EQUIPO_ARBITRAL A5 ON PARTIDO.ArbPrin=A5.Codigo_arbitro
INNER JOIN LOCALIDAD L1 ON A1.Cod_localidad=L1.Codigo_localidad
INNER JOIN LOCALIDAD L2 ON A2.Cod_localidad=L2.Codigo_localidad
INNER JOIN LOCALIDAD L3 ON A3.Cod_localidad=L3.Codigo_localidad
INNER JOIN LOCALIDAD L4 ON A4.Cod_localidad=L4.Codigo_localidad
INNER JOIN LOCALIDAD L5 ON A5.Cod_localidad=L5.Codigo_localidad;
这里是结果的一个例子。如果我有以下裁判:
ArbPrin: Malaga, ArbAux: Torremolinos, Anotador: Benalmadena
结果如下:
LocPrin LocAux LocAn LocCro LocOp
-----------------------------------------------
Malaga Malaga Malaga Malaga Malaga
我要的结果是下一个:
LocPrin LocAux LocAn LocCro LocOp
--------------------------------------------------------
Malaga Torremolinos Benalmadena
最佳答案
给你,我想这就是你想要的:
SELECT L1.Nombre AS'LocPrin', L2.Nombre AS'LocAux', L3.Nombre AS'LocAn',
L4.Nombre AS'LocCro', L5.Nombre AS'LocOp' FROM PARTIDO
LEFT JOIN EQUIPO_ARBITRAL A1 ON PARTIDO.ArbPrin=A1.Codigo_arbitro
LEFT JOIN EQUIPO_ARBITRAL A2 ON PARTIDO.ArbAux=A2.Codigo_arbitro
LEFT JOIN EQUIPO_ARBITRAL A3 ON PARTIDO.Anotador=A3.Codigo_arbitro
LEFT JOIN EQUIPO_ARBITRAL A4 ON PARTIDO.Crono=A4.Codigo_arbitro
LEFT JOIN EQUIPO_ARBITRAL A5 ON PARTIDO.Op24=A5.Codigo_arbitro
LEFT JOIN LOCALIDAD L1 ON A1.Cod_localidad=L1.Codigo_localidad
LEFT JOIN LOCALIDAD L2 ON A2.Cod_localidad=L2.Codigo_localidad
LEFT JOIN LOCALIDAD L3 ON A3.Cod_localidad=L3.Codigo_localidad
LEFT JOIN LOCALIDAD L4 ON A4.Cod_localidad=L4.Codigo_localidad
LEFT JOIN LOCALIDAD L5 ON A5.Cod_localidad=L5.Codigo_localidad;
关于mysql - 内部连接效果不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358341/