在Access 2010中组合查询中的行

时间:2017-11-01 22:44:54

标签: ms-access

首先我对VB一无所知,我在这里看到的帖子指的是,我确信这是一件非常简单的事情,请帮助

我正在尝试将我的TN路线作为我的主键/没有重复,并且将日期驱动程序1驱动程序2和驱动程序3全部放在差异单元格中并且所有并排,并且即使它从TN拉出的tbl route是primary,它会不断为每个驱动程序添加额外的行。

参见附页截图:

提前谢谢你。 斯坦

data sheet view of query

1 个答案:

答案 0 :(得分:0)

此查询将为您完成。同样,它不是优选的,因为在Access SQL中由于没有更强大的SQL平台所具有的功能而往往会有点混乱 - 但它会起作用。您需要将日期列的名称更改为路由日期才能使其生效,并将 tblTest 替换为您的任何内容表名是:

SELECT DISTINCT tblTest.[TN Route], tblTest.[Route Date], tA.[Driver 1], tB.[Driver 2], tC.[Driver 3]
FROM ((tblTest LEFT JOIN (SELECT tblTest.[TN Route], tblTest.[Route Date], [Driver 1] FROM tblTest WHERE [Driver 1] <> '')  AS tA ON (tblTest.[Route Date] = tA.[Route Date]) AND (tblTest.[TN Route] = tA.[TN Route]))
               LEFT JOIN (SELECT tblTest.[TN Route], tblTest.[Route Date], [Driver 2] FROM tblTest WHERE [Driver 2] <> '')  AS tB ON (tblTest.[Route Date] = tB.[Route Date]) AND (tblTest.[TN Route] = tB.[TN Route]))
               LEFT JOIN (SELECT tblTest.[TN Route], tblTest.[Route Date], [Driver 3] FROM tblTest WHERE [Driver 3] <> '')  AS tC ON (tblTest.[Route Date] = tC.[Route Date]) AND (tblTest.[TN Route] = tC.[TN Route])

在Access 2010中,转到“创建”&gt;查询设计&gt;添加表,然后将SQL粘贴到查询设计器的SQL视图中。您甚至可以从结果中创建一个独立的表。