2013-11-25 52 views
0
SELECT tblT.Tick, First(tblB.BDF) AS FirstOfBDF 
FROM tblT INNER JOIN tblB ON tblT.Tick = tblB.Tick 
GROUP BY tblT.Tick; 

我的访问表(tblB)按照Tick和BDF排序。它怎么没有检索到正确的数据?First()INNER JOIN

+0

为什么使用_first()_ –

+3

在SQL中,表*不是*排序的。您的数据库产品可能会提供某些特定的保证,但对于一般语言,您的声明不是真实的。请添加您使用的数据库系统作为标签。 –

+0

@Damien_The_Unbeliever:_FIRST()函数仅在MS Access中受支持。 –

回答

2

除非您明确提及Order by,否则无法保证表格已经排序。

select top 1 tblT.Tick, First(tblB.BDF) AS FirstOfBDF 
from FROM tblT INNER JOIN tblB ON tblT.Tick = tblB.Tick 
    GROUP BY tblT.Tick 
    Order by tblt.Tick ;