有人知道如何在一个字段中放置多个值来建立两个不同记录之间的关系吗?
Google翻译(来自德语):
使用多值字段
在大多数系统中,DBMS(数据库管理系统),包括早期 Microsoft Access的版本,您只能在一个存储单个值 领域。在Microsoft Office Access 2007中,您还可以创建字段 包含多个值,例如要列出的类别 你已经分配了条件。多值字段具体使用 某些情况,例如当您使用Office Access 2007工作时保存在 Windows SharePoint Services 3.0列表,其中包含一个字段 具有Windows中可用的多个值的字段类型 数据SharePoint Services。
本主题介绍如何在其中创建和使用多值字段 Office Access 2007和Windows SharePoint Services,如何创建 多值字段和使用,以及如何在a中使用多值字段 查询。
答案 0 :(得分:-1)
您可以在JOIN条件中使用多值查找字段(通过它们的.Value
属性),但请注意,如果连接的两边都有这样的字段,那么它将在任何项目在已加入的字段上匹配,而不是在所有项目匹配时匹配。根据具体情况,这可能是也可能不合适。
案例1:过敏学生
学校管理员需要跟踪过敏的学生,并向他们提供他们在学校食堂吃饭时应避免的膳食清单。
[学生]
ID Student Allergies
-- ------- ---------
1 Alice Eggs, Soy
2 Bradley Peanuts
3 Carol
4 Dennis Soy
[餐食]
ID Meal Allergens
-- ------------- ---------
1 Thai stir-fry Peanuts
2 Tofu omlette Eggs, Soy
3 Waffles Eggs
查询
SELECT Students.Student, Students.Allergies, Meals.Meal, Meals.Allergens
FROM Students INNER JOIN Meals ON Students.Allergies.Value = Meals.Allergens.Value;
返回
Student Allergies Meal Allergens
------- --------- ------------- ---------
Alice Eggs, Soy Tofu omlette Eggs, Soy
Alice Eggs, Soy Waffles Eggs
Bradley Peanuts Thai stir-fry Peanuts
Dennis Soy Tofu omlette Eggs, Soy
这是合适的,因为爱丽丝应该避免含有任何成分对她过敏的食物。
案例2:酒店要求
[游客]
ID Traveller Requirements
-- --------- -------------------------
1 Gord free WiFi, in-room coffee
[酒店]
ID Hotel Amenities
-- ------------ ----------------------------
1 Budget Motel free WiFi, in-room coffee
2 Fancy Hotel in-room coffee, room service
查询
SELECT Travellers.Traveller, Travellers.Requirements, Hotels.Hotel, Hotels.Amenities
FROM Hotels INNER JOIN Travellers ON Hotels.Amenities.Value = Travellers.Requirements.Value;
返回
Traveller Requirements Hotel Amenities
--------- ------------------------- ------------ ----------------------------
Gord free WiFi, in-room coffee Budget Motel free WiFi, in-room coffee
Gord free WiFi, in-room coffee Fancy Hotel in-room coffee, room service
查询返回两个属性,因为它们都提供室内咖啡。但是,Fancy Hotel酒店不提供免费WiFi,所以我不想留在那里。在这种情况下,默认的连接行为是不可取的(对我而言)。