LEFT JOIN只返回第一行



我正在与两个表tab_usuarios(用户)和tab_enderecos(地址)进行连接。

tab_usuarios结构:

<表类> id_usuario 省 usuario tbody><<tr>1Administrador管理2新生Usuario证人3若昂席尔瓦jao

这应该可以做到,假设您使用的是MySql 8.0而不是旧的5。x版本:

SELECT * 
FROM (
SELECT  u.id_usuario, u.usuario, u.nome, e.id_endereco, e.cidade, e.uf,
row_number() over (partition by u.id_usuario order by e.id_endereco) rn
FROM tab_usuarios u 
LEFT JOIN tab_enderecos e On u.id_usuario = e.id_usuario
) t
WHERE rn = 1

看到它在这里工作:

https://dbfiddle.uk/?rdbms=mysql_8.0&小提琴= c506baf8157f82390bb335d074e7614c

最新更新