2017-08-02 134 views
0

有人可以解释我为什么这个子查询返回“这个子查询最多可以返回一条记录”。MS ACCESS Subselect“子查询最多可以返回一条记录”

(SELECT TOP 1 J.observacao " + 
" FROM tblPendenciaHistorico J " + 
" INNER JOIN tblPendenciaPendenciaHistorico JH " + 
    " ON J.historicoId = JH.pendenciaHistoricoId " + 
" WHERE JH.pendenciaId = P.pendenciaId " + 
" ORDER BY J.data DESC) AS historicoStatus" 

回答

1

看来,TOP 1实际上并没有限制结果集为1的结果。这是因为Access通过匹配选择,这意味着它将返回1个不同的行。因此,如果两行相同,则它们被计为1个匹配,并且两个都将被返回。 Reference。要解决此问题,您将不得不在查询中包含另一个字段,以使每行都具有唯一性。

+0

Tks litelite我加了pk。 – Denis