【问题标题】:Join don't return some rows [duplicate]加入不返回某些行[重复]
【发布时间】:2020-10-27 09:45:03
【问题描述】:

我需要访问字段IsAvailable 才能在条件语句中使用它。 该字段存储在Table5

下面的查询返回 48 行:

select *
from Table1 c
join Table2 cm      on c.candidateId = cm.candidateId

我更改了它并添加了一些连接,所以现在我可以访问 Table5 中的字段 IsAvailable,但现在它返回 23 行,我需要得到 48 行

select *
from Table1 c
join Table2 cm      on c.candidateId = cm.candidateId
join Table3 lpg     on c.positionId = lpg.positionId
join Table4 lpt     on lpg.linkPositionGradeId = lpt.linkPositionGradeId
join Table5 s       on lpt.linkPositionTeamId = s.linkPositionTeamId

如何获得 48 行?

【问题讨论】:

  • 使用LEFT JOIN

标签: sql sql-server


【解决方案1】:

使用left join

select *
from Table1 c
join Table2 cm      on c.candidateId = cm.candidateId
left join Table3 lpg     on c.positionId = lpg.positionId
left join Table4 lpt     on lpg.linkPositionGradeId = lpt.linkPositionGradeId
left join Table5 s       on lpt.linkPositionTeamId = s.linkPositionTeamId

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2012-06-20
    相关资源
    最近更新 更多