Cómo seleccionar la primera fila de una unión que devuelve varias filas en la clave primaria
Esto está relacionado con esta pregunta: https://dba.stackexchange.com/questions/103262/joining-multiple-tables-results-in-duplicate-rows/103264
Tengo dos tablas que estoy uniendo. Comparten una clave. La tabla persona tiene un nombre por clave primaria pero la tabla email tiene múltiples emails por personId. Quiero mostrar sólo el primer correo electrónico por persona. Actualmente obtengo varias filas por persona porque tienen varios correos electrónicos. Estoy ejecutando SQL-Server 2005.
EDIT: Esto es T-SQL. Primer correo electrónico es, literalmente, la primera fila de correo electrónico por persona.
EDITAR 2: Primer correo electrónico como yo lo veo sería la primera fila de correo electrónico que aparece en la unión como SQL trabaja a través de la consulta. No importa que email aparezca. Sólo que no aparezca más de un correo electrónico. Espero que quede más claro.
Table1: Person
Table2: Email
Select Person.PersonName, Email.Email
From person
left join on Person.ID=Email.PersonId;
Yo utilizaría un aplique exterior para esto, me parece más legible.