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

SQL JOIN未返回PR表全部记录,如何获取PR全量及EM指定字段?

如何调整SQL以获取PR表全部记录并关联EM表指定字段?

这个问题很常见——你当前用的默认JOIN本质是INNER JOIN,它只会返回两张表中匹配连接条件的交集记录。如果PR表中有记录的Principal字段在EM表的Employee字段里找不到对应匹配项,这些PR记录就会被过滤掉,自然没法返回PR表的全部内容。

要实现“获取PR表全部记录,同时关联EM表指定字段”的需求,你需要改用LEFT JOIN(左外连接):

  • LEFT JOIN会优先返回左表(这里就是PR表)的所有记录
  • 对于右表(EM表)中没有匹配连接条件的记录,对应的EM字段会显示为NULL

修改后的SQL语句如下:

SELECT 
    [PR].[WBS1], 
    [EM].[FirstName], 
    [EM].[LastName], 
    [EM].[EMail] 
FROM [VisionDemo].[dbo].[PR] 
LEFT JOIN [VisionDemo].[dbo].[EM] 
    ON [VisionDemo].[dbo].[PR].[Principal] = [VisionDemo].[dbo].[EM].[Employee]

如果希望EM表无匹配时,用默认值(比如空字符串)替代NULL,可以用ISNULL函数优化:

SELECT 
    [PR].[WBS1], 
    ISNULL([EM].[FirstName], '') AS FirstName, 
    ISNULL([EM].[LastName], '') AS LastName, 
    ISNULL([EM].[EMail], '') AS EMail 
FROM [VisionDemo].[dbo].[PR] 
LEFT JOIN [VisionDemo].[dbo].[EM] 
    ON [VisionDemo].[dbo].[PR].[Principal] = [VisionDemo].[dbo].[EM].[Employee]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:30:04