You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询需求:优先取第二表同ID数据且不重复返回ID

正确的SQL查询语句实现需求

要实现获取usuarios表所有记录,且当ID在FichaColab表存在时用nomcompleto替换nome,同时保证ID不重复的需求,不需要用UNION,而是使用LEFT JOIN结合COALESCE函数即可,具体SQL语句如下:

SELECT 
    u.id,
    COALESCE(fc.nomcompleto, u.nome) AS nome
FROM usuarios u
LEFT JOIN FichaColab fc ON u.id = fc.id;

语句说明:

  • LEFT JOIN FichaColab fc ON u.id = fc.id:保留usuarios表的所有记录,同时匹配FichaColab表中相同ID的记录,没有匹配到的记录对应FichaColab的字段会为NULL。
  • COALESCE(fc.nomcompleto, u.nome):优先使用FichaColab表的nomcompleto字段值,当该值为NULL(即ID不存在于FichaColab)时,就使用usuarios表的nome字段值。
  • 因为是基于usuarios表的LEFT JOIN,所以返回的ID不会重复,完全符合预期结果。

执行该语句后,返回的结果将与你给出的预期结果一致:

idnome
1Teste Teste
2Teste1
3Teste2 Teste2
4Teste3
5Teste4 Teste4

内容的提问来源于stack exchange,提问作者Bruno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:31:05