我有一个查询,我试图让一个实体与其正确的位置相关联。有一位医生(id = 538)。该医生可以在多个地点(praclocid)和实体工作。这是我使用自联接创建复杂查询后得到的数据集:
doctorid praclocid entity praclocid2 LocName EntityName
538 214 123 NULL NULL ECS PB
538 214 124 NULL NULL ECS JK
538 214 125 NULL NULL Memorial
538 512 123 NULL NULL ECS PB
538 512 124 NULL NULL ECS JK
538 512 125 NULL NULL Memorial
538 315 123 NULL NULL ECS PB
538 315 124 315 HospA ECS JK
538 315 125 NULL NULL Memorial
如果praclocid = praclocid2,EntityName将只有一个LocationName。否则LocationName应为null。这就是为什么只有一个记录带有填充的LocationName。
最终结果应如下所示:
EntityName LocName
ECS JK HospA
ECS PB NULL
Memorial NULL
通过将主查询放入CTE,我可以获得Entity ECS JK及其相应的HospA位置。我无法弄清楚如何获得其他两个实体及其相应的Null位置。我尝试创建第二个CTE以获得该部分,但它并没有给我正确的输出。我觉得我遇到了障碍。
有什么建议吗?
由于