SQL从另一个表中选择匹配数据,其中匹配列具有相同数据

时间:2018-08-02 15:55:25

标签: sql ms-access

因此,我正在建立一个订单数据库,我想为订单表单的下拉框创建一个选项列表,但是该列表需要从另一个表中的Services列表派生,但是需要匹配前面的类别下拉菜单。

我不确定我要去哪里。查询如下。

SELECT ServiceTypes.ServiceType 
FROM ServiceTypes 
WHERE Orders.ServiceCatagory = ServiceTypes.ServiceType;

所以orders是我想将列表拉入的Orders的数据库 ServiceTypes具有我要提取的ServiceTypes的列表。它由ServicType和ServiceCatagory组成。我需要根据订单中的服务类型来限制服务类型的列表。

因此,如果有人在订单中选择ServiceCatagory为“ InstalL”,那么我想要的ServiceTypes唯一的结果就是那些具有等于Orders Service Catagory的ServiceCatagory。

我怀疑我需要参加,但是我不确定如何或哪种。

-更新-

我应该指出,我正在Access中执行此操作,只是试图填充一个列表框。

我的新查询如下

SELECT ServiceTypes.ServiceType
FROM ServiceTypes
INNER JOIN Orders ON Orders.ServiceCatagory = ServiceTypes.ServiceCatagory;

仍然不确定这是否正确

1 个答案:

答案 0 :(得分:0)

所以我已经测试了一些我用来获取信息的SQL,我认为我实际上已经获得了正确的代码

SELECT ServiceTypes.ServiceType
FROM ServiceTypes
WHERE ServiceTypes.ServiceCatagory = Orders.ServiceCatagory

真正的问题是我在Access中的实现以及在哪里调用查询。

我不需要使用JOIN,我只需要更改调用的位置。即选择类别之后,而不是在数据库设计级别。