以下是设置:
tblUsers
)中的一个存储数据库用户的名称,而other six tables
用于存储数据库用户输入的信息。因此,tblUsers
与数据库中显示"ALL records from 'tblUsers' and only those records from 'OtherTable' where the joined fields are equal."
frmReport
),从tblUsers中选择一个用户和两个允许我选择日期范围的文本框。以下是我想要完成的内容:我想创建一个报告,根据表单中的条件从所有六个表中返回信息。
PS。我能够根据两个表创建一个报告,例如。 tblUsers和另一张桌子,但每当我有更多的那张桌子时,我会感到困惑。我希望我足够清楚。
答案 0 :(得分:0)
使用一个包含多个LEFT JOIN
的查询,例如:
SELECT tblUsers.*, tblA.*, tblB.*, tblC.*, tblD.*, tblE.*, tblF.*
FROM tblUsers
LEFT JOIN tblA ON tblUsers.pk=tblA.fk
LEFT JOIN tblB ON tblUsers.pk=tblB.fk
LEFT JOIN tblC ON tblUsers.pk=tblC.fk
LEFT JOIN tblD ON tblUsers.pk=tblD.fk
LEFT JOIN tblE ON tblUsers.pk=tblE.fk
LEFT JOIN tblF ON tblUsers.pk=tblF.fk
LEFT JOIN
仅包含第一个表中的记录和第二个表中匹配的记录。在这种情况下,我将pk称为tblUsers中的主键,将fk称为其他表中的关联外键。当然,您可以在此查询示例中替换表名。
这将在tblUser表中创建一个与每个用户关联的长记录,但没有与用户不匹配的记录。