我有一个发票表和一个按键相关的相关数据子表。特别是,对于每个发票,我只对子表中的第一个相关行感兴趣。假设我希望每个发票键都有一个相关的行-我该如何实现?
Select i.[Invoice Number],
c.[Carrier Name]
From Invoice i
Left Join Carriers c on i.[InvoiceKey] = c.[InvoiceKey]
Where -- what?
我猜从语义上讲,我正在寻找类似于Top 1 c.CarrierName Group by InvoiceKey
概念的东西(或者,如果在T-SQL中可以实现的话,那么它的概念会是什么)。
我曾考虑对子查询执行左连接,但这似乎不是很有效。有没有人有什么T-SQL技巧可以有效地实现这一点?
编辑:对不起,伙计们,我忘了说这是SQL Server2000,所以虽然我要对当前SQL Server2005/2008的响应表示赞赏,但我恐怕不能接受它们。
https://stackoverflow.com/questions/4692419
复制相似问题