【发布时间】:2023-03-29 11:34:02
【问题描述】:
我有一个视图 (v_Flat_DemogTDComps),其中包含以下字段(以及其他字段)
PatientID Integer
[Start date] DateTime
SystemicStart DateTime
我还有一张桌子 (Operation),上面有:
PatientID Integer
[Operation/Reason Date] DateTime
[Surgical] Boolean
[Operation/Reason Name] String
我想 LEFT JOIN v_Flat_DemogTDComps ON Operation 其中:
PatientID = PatientID AND(
If [Surgical] = 1 THEN [Operation/Reason Date] = SystemicStart OR If [Surgical] = 0 THEN [Operation/Reason Date] = [Start Date]
)
最终,我想选择 v_Flat_DemogTDComps 中的所有内容以及 [Operation/Reason Name]
我尝试使用此解决方案并考虑创建两个操作视图(一个位于 Surgical=1 处,一个位于 Surgical=0 处):Case statement in Join Clause
但是,这似乎只适用于条件部分位于第一个表中的情况。 v_Flat_DemogTDComps 中没有任何内容可以确定我是否应该使用一种操作视图而不是另一种。
条件子句在第二张表时如何JOIN?
【问题讨论】:
标签: sql sql-server join left-join