Ms access 高级访问查询

Ms access 高级访问查询,ms-access,Ms Access,我有两张桌子。一个表包含潜在客户信息及其车辆要求(车辆类型、车辆颜色)等。另一个表包含车辆列表。这包括座位数、最高速度、价格等数据 我需要一个查询,将列出车辆(从车辆表)满足潜在客户的要求(车辆类型)等 在查询中,有几件事我想避免。我只想通过指定潜在客户的ID(Cust ID)来列出这些。也就是说,我不想做像WHERECust ID=1和。。。而且。。。而且 我考虑过这一点,并得出结论,最有可能需要使用JOIN或UNION。但是,当我试图将JOIN语句组合在一起时,我发现我必须列出字段上的JOI

我有两张桌子。一个表包含潜在客户信息及其车辆要求(车辆类型、车辆颜色)等。另一个表包含车辆列表。这包括座位数、最高速度、价格等数据

我需要一个查询,将列出车辆(从车辆表)满足潜在客户的要求(车辆类型)等

在查询中,有几件事我想避免。我只想通过指定潜在客户的ID(Cust ID)来列出这些。也就是说,我不想做像WHERE
Cust ID
=1和。。。而且。。。而且

我考虑过这一点,并得出结论,最有可能需要使用JOIN或UNION。但是,当我试图将JOIN语句组合在一起时,我发现我必须列出字段上的JOIN负载:

SELECT * 
FROM [Potential Customer] INNER JOIN [Vehicles] AS Matches
    ON Matches.`Number of Seats` >= [Potential Customer].`Min Seats` AND
    ON Matches.`Color` >= [Potential Customer].`Preferred Color` =  AND 
    ...  

WHERE [Potential Customer].`Cust No` = 3

有更好的方法吗?

但是您已经有了一些
。。。和…
语句。因此,我认为这样做的一个好方法是:

SELECT Cars.* FROM Cars, Customer WHERE 
Customer.ID = 1 AND
Cars.Whatever >= Customer.Whatever >=  AND
...

一、 就个人而言,我会这样做,因为这很容易理解。另外,在大约8年的边缘数据库经验中,我从未费心去学习任何关于连接的知识(羞愧)。而且,顺便说一句,这不是一个高级查询:P

您可以通过使用以下简单查询获得您想要的:

SELECT Customer.Id, Vehicle.Id FROM Customer, Vehicle 
WHERE Vehicle.criteria_1 >= Customer.Criteria_1 AND... AND Customer.Id = 3
这将为您提供一个特定客户的Vehicle.Id列表(或您从Vehicle中选择的任何其他内容)


顺便问一下,如何创建查询?特别代码?存储过程?

为什么不想使用WHERE?如果您开始标记问题的选定答案,这会有所帮助。更多的人会这样回答。