我有一个视图(v_Flat_DemogTDComps
),其中包含以下字段(以及其他字段)
PatientID Integer
[Start date] DateTime
SystemicStart DateTime
我还有一张表(Operation
):
PatientID Integer
[Operation/Reason Date] DateTime
[Surgical] Boolean
[Operation/Reason Name] String
我想在v_Flat_DemogTDComps
上{@ 1}}左下角加入Operation
:
PatientID = PatientID AND
(
如果[Surgical] = 1 THEN [Operation / Reason Date] = SystemicStart OR
如果[手术] = 0那么[操作/原因日期] = [开始日期]
)
最终,我希望选择v_Flat_DemogTDComps
中的所有内容以及[Operation/Reason Name
]
我尝试过使用此解决方案并考虑创建两个操作视图(一个Surgical=1
和一个Surgical=0
):Case statement in Join Clause
然而,这似乎只适用于条件部分在第一个表中的情况。 v_Flat_DemogTDComps
中没有任何内容可以确定我是否应该使用一个操作视图而不是另一个操作视图。
当条件子句在第二个表中时,如何加入?
答案 0 :(得分:0)
使用Or
和And
运算符来模拟If else
。试试这个。
ON v_Flat_DemogTDComps.PatientID = Operation.PatientID
AND ( ( [Surgical] = 1
AND [Operation/Reason Date] = SystemicStart )
OR ( [Surgical] = 0
AND [Operation/Reason Date] = [Start Date] ) )