私は、とりわけ、ID番号を指定された人の1つの電話番号を選択するクエリに取り組んでいます。
このコードのビットはそれを取得します:
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
そのため、「携帯電話」よりも「自宅の電話」を優先し、説明のないものよりも「携帯電話」を優先します。でも、参加の途中でどうやってやるのかわからない。3つの別々の選択を書かなくてもそれを行う方法はありますか?この結合が含まれているクエリは醜くて大規模で、多数の結合があるため、分離するのは困難です。助言がありますか?