Tengo una tabla de facturas y una tabla secundaria de datos relacionados relacionados por clave. En particular, para cada factura, me interesa solo la primera fila relacionada de la tabla secundaria. Dado que quiero una fila relacionada para cada clave de factura, ¿cómo puedo lograr esto?¿Cómo me uno a la primera fila de una subconsulta?
Select i.[Invoice Number],
c.[Carrier Name]
From Invoice i
Left Join Carriers c on i.[InvoiceKey] = c.[InvoiceKey]
Where -- what?
supongo que semánticamente hablando, lo que estoy buscando algo similar al concepto de Top 1 c.CarrierName Group by InvoiceKey
(o lo que sería el concepto de que si eso fuera posible en T-SQL.)
I' He pensado en hacer una combinación de izquierda en una subconsulta, pero eso no parece muy eficiente. ¿Alguien tiene trucos de T-SQL para lograr esto de manera eficiente?
Editar: Lo siento chicos, olvidé mencionar que esto es SQL Server 2000, así que mientras voy a dar votaciones por las respuestas actuales de SQL Server 2005/2008 que funcionarán, no puedo aceptarlas I 'tengo miedo.
¿Tiene segunda tabla tienen ningún atributo que dice qué fila es el primer segundo, etc. – Chandu
@Cybernate No, aparte de la secuencia del índice – BenAlabaster