私は次のクエリを持っています:
SELECT pn.PhoneId,
pn.CountryId,
c.ITUCode,
pn.AreaCode,
pn.PhoneNumber,
pn.PhoneExtension,
pn.PhoneNumberTypeId,
pnt.PhoneNumberType,
pn.Comments,
ppn.IsPrimaryNumber,
cpn.IsPrimaryNumber
FROM PhoneNumbers AS pn
INNER JOIN PeoplePhoneNumbers AS ppn ON ppn.PhoneId = pn.PhoneId
INNER JOIN CompanyPhoneNumbers AS cpn ON cpn.PhoneId = pn.PhoneId
INNER JOIN Countries AS c ON c.CountryId = pn.CountryId
INNER JOIN PhoneNumberTypes AS pnt ON pnt.PhoneNumberTypeId = pn.PhoneNumberTypeId
WHERE pn.PhoneId = @PhoneId
ORDER BY ppn.IsPrimaryNumber DESC, pnt.PhoneNumberType
フェッチすることができるので、 IsPrimaryKey
2つの異なる値を使用innerjoins
して、そこから2つの値を取得する必要があります。
それらの1つはそうでnull
あり、他は常にそうである値を持っているでしょう。
したがって、このクエリを両方の単一の結合に変更してから、他のフィールドではなく、innerjoin
単一のフィールドをフェッチすることはできますか?IsPrimaryNumber
ありがとう