, . phone_number_id, , , . , -.
- Phone_Types, , . , . , .
SELECT
PN1.employee_id,
PN1.phone_type,
PN1.phone_number
FROM
Phone_Numbers PN1
INNER JOIN Phone_Types PT1 ON
PT1.phone_type = PN1.phone_type
WHERE
NOT EXISTS
(
SELECT *
FROM
Phone_Numbers PN2
INNER JOIN Phone_Types PT2 ON
PT2.phone_type = PN2.phone_type AND
(
(PT2.priority < PT1.priority)
)
)
LEFT JOIN NOT EXISTS, TOP, . -1 , phone_number_id.
, SQL 2005 SQL 2008, CTE ROWNUMBER() OVER (ORDER BY priority, phone_number, PARTITION BY employee_id) < - , , , , . , , ROWNUMBER() = 1.