我正在处理一个查询,除其他事项外,为一个给定 ID 号码的人选择一个电话号码。
这段代码得到了它:
LEFT JOIN [thedatabasename].dbo.[thetablename] Phone
ON p.PersonId = phone.PersonId
AND (phone.[Description] = 'Home Phone'
OR phone.[Description] = 'Cell Phone'
OR phone.[Description] is null)
这行得通,但我想要的是它做一些在概念上更像
IF EXISTS select [phone number] from <tablename> where description = 'Home phone'
ELSE IF EXISTS select [phone number] from <tablename> where description = 'cell phone'
ELSE IF EXISTS select [phone number] from <tablename> where description is null
因此它更喜欢“家庭电话”而不是“手机”,并且更喜欢“手机”而不是没有描述的手机。我不知道如何在我加入的过程中做到这一点。有没有办法做到这一点而不必编写三个单独的选择?此连接所属的查询丑陋且庞大,并且有一堆连接,因此将其分离出来会很困难。有什么建议么?