Ms access 数据库-MS访问

Ms access 数据库-MS访问,ms-access,Ms Access,我有三张桌子,库存,书籍和DVD。现在我必须把书和DVD作为库存表的子数据表。是否可以通过MS Access中的查询进行操作假设Book/DVD表中的inventID列等于inventory表中的inventory ID,则为yes'ish 如果需要实际的子数据表,则不需要查询,只需打开inventory表并插入子数据表即可。问题是您只能有一个子数据表,因此无法同时查看书本和DVD子数据表 您可以运行查询,但同时查看DVD和Book将导致一个外观怪异的查询,其中Book和DVD的列将显示在同一行

我有三张桌子,库存,书籍和DVD。现在我必须把书和DVD作为库存表的子数据表。是否可以通过MS Access中的查询进行操作

假设Book/DVD表中的inventID列等于inventory表中的inventory ID,则为yes'ish

如果需要实际的子数据表,则不需要查询,只需打开inventory表并插入子数据表即可。问题是您只能有一个子数据表,因此无法同时查看书本和DVD子数据表

您可以运行查询,但同时查看DVD和Book将导致一个外观怪异的查询,其中Book和DVD的列将显示在同一行上。以下是编写该查询的方式:

    SELECT Inventory.*, DVD.*, Book.*
    FROM (Inventory LEFT JOIN DVD ON Inventory.inventoryID = DVD.inventid) 
    LEFT JOIN Book ON Inventory.inventoryID = Book.inventID;
它的输出如下:

在本例中,测试1、2和3是书籍,测试4和5是DVD

您最好只为这两种类型的项目创建单独的库存表,然后一起删除库存表。当您想一起查看时,可以运行联合查询,将两个表合并在一起,只显示公共字段(库存表中当前的所有内容)