gpt4 book ai didi

mysql - SQL 左连接条件

转载 作者:行者123 更新时间:2023-11-29 00:02:45 25 4
gpt4 key购买 nike

大家好,

我有一个问题,我希望使用带条件的左连接来解决,但是,我还没有弄清楚,我开始头疼了。我希望使用左连接提取数据,但是我只希望包含两列,并且我希望条件基于第二个表中的第 3 列。此外,我对不一定需要左连接条件的解决方案持开放态度。

Select a.ID,
a.AssociateName,
a.FormTypeID
b.Segment1
b.Segment2
From NinjaTable a
Left Join ShinobiTable b On b.AssociateName = a.AssociateName

这是我需要的条件(虽然我知道它不适用,但我将在 if 语句中对其进行措辞)使这变得棘手的是,员工可能拥有超过 1 个分配状态。他们可能已经转移到另一个部门,并且他们之前的列表现在显示为不活跃,但他们仍然有另一个活跃的列表。我需要的条件是仅在适用时才抓取事件的,否则如果没有事件的则抓取非事件的

IF b.AssignmentStatus = 'Active' then perform left join Normally
IF b.AssignmentStatus = 'Inactive' Then only perform left join if there is not an active one.

最佳答案

您可以包含两个状态记录,然后合并它们,例如:

Select a.ID,
a.AssociateName,
a.FormTypeID,
coalesce(b.Segment1, c.Segment1),
coalesce(b.Segment2, c.Segment2)
From NinjaTable a
Left Join ShinobiTable b On b.AssociateName = a.AssociateName and b.AssignmentStatus = 'Active'
Left Join ShinobiTable c On c.AssociateName = a.AssociateName and c.AssignmentStatus = 'Inactive'

关于mysql - SQL 左连接条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com