Tôi đã có bảng hóa đơn và bảng con của dữ liệu liên quan có liên quan theo khóa. Cụ thể, đối với mỗi hóa đơn, tôi chỉ quan tâm đến hàng liên quan đầu tiên từ bảng con. Vì tôi muốn một hàng có liên quan cho mỗi khóa hóa đơn - làm thế nào để tôi thực hiện điều này?Làm cách nào để tham gia hàng đầu tiên của truy vấn phụ?
Select i.[Invoice Number],
c.[Carrier Name]
From Invoice i
Left Join Carriers c on i.[InvoiceKey] = c.[InvoiceKey]
Where -- what?
Tôi đoán nói ngữ nghĩa, những gì tôi đang tìm kiếm một cái gì đó tương tự như khái niệm về Top 1 c.CarrierName Group by InvoiceKey
(hoặc những gì sẽ là khái niệm rằng nếu điều đó là có thể trong T-SQL.)
tôi đã nghĩ về việc tham gia trái vào một truy vấn con, nhưng điều đó dường như không hiệu quả lắm. Có ai có bất kỳ thủ thuật T-SQL để đạt được điều này một cách hiệu quả?
Chỉnh sửa: Xin lỗi các bạn, tôi quên đề cập đến đây là SQL Server 2000, vì vậy trong khi tôi sẽ cung cấp cho upvotes cho câu trả lời SQL Server 2005/2008 hiện tại sẽ hoạt động, tôi không thể chấp nhận chúng sợ.
Có bảng thứ hai có bất kỳ thuộc tính mà nói mà hàng là đầu tiên thứ hai, vv – Chandu
@Cybernate Không, không phải là một chuỗi các chỉ số – BenAlabaster