Datagridview仅列出父记录和最后一个子记录

问题描述

我有两个表-t1和t2。 我正在尝试用公司(t1)和最后签订的合同(t2)填充datagridview。

我正在Visual Studio 2019中使用具有OLE连接的accdb。

我有[t1]。[ID]与[t2]一对一链接。[t1ID]。

我刚刚尝试过select * from (t1 LEFT OUTER JOIN t2 ON t1.ID = (MAX (t1ID) FROM t2 WHERE t2.t1ID = t1.ID)

这给我WHERE子句中的错误,并且无法解析查询文本。

我正在将其输入Visual Studio 2019的Dataset TableAdapter查询中。

我只想得到一个结果:

company1 2020年合同

我目前得到:

company1 Contract 2018

company1合同2019

company1 2020年合同

我现在尝试了

(Client t1 LEFT OUTER JOIN
                     Contract t2 ON t1.ID = t2.ClientID AND t2.ID =
                         (SELECT        MAX(t2.ID) AS Expr1
                           FROM            t2
                           WHERE        (t1.ID = t2.ClientID)))

我现在遇到语法错误

解决方法

从t2开始的最后一个子查询中的语法错误应为“合同t2”

选择t1。,t2。 从(客户端t1左外加入 合同t2 ON t1.ID = t2.ClientID) 在哪里(t2.ID = (选择MAX(ID)AS Expr1 从合同t2 在哪里(t1.ID = ClientID))