gpt4 book ai didi

sql - SQL Server 中的条件连接依赖于其他表值

转载 作者:行者123 更新时间:2023-12-05 01:34:04 25 4
gpt4 key购买 nike

我需要根据另一个表中的值来决定应该在连接语句中使用哪个表

我尝试使用 CASECOALESCE 但无法取得任何成功。

  • TableA 有 A 和 B 和 C 以及许多其他列
  • TableB 有 ID 和 NAME 列
  • TableC 有 ID 和 NAME 列

我的选择语句是;

从表 A A 中选择 A.D、A.E、A.F

如果 A.E = 1 则应使用以下连接

左外连接 TableB B ON A.B = B.ID

B.NAME应该在select语句中返回

如果 A.E = 2 则应使用以下连接

左外连接 TableC C ON A.B = C.ID

C.NAME应该在select语句中返回

最佳答案

只需将您的条件添加到连接中,然后使用 case 语句将正确的字段拉到您的结果集中,例如

select A.D, A.E, A.F
, case when B.[Name] is not null then B.[Name] else C.[Name] end [Name]
from TableA A
left outer join TableB B ON A.B = B.ID and A.E = 1
left outer join TableC C ON A.B = C.ID and A.E = 2

关于sql - SQL Server 中的条件连接依赖于其他表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57366388/

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