我正在使用SQL for Access编写代码。该查询提出三个问题。我有三个类别 - 我现在只使用类别'country','city','street'。我试图找出如何制作它,以便你只需要输入一个答案,即使它问你3.但如果你回答两个,它会给你类似的条款。例如,如果我回答格鲁吉亚和亚特兰大,亚特兰大佐治亚州就会出现。或者,如果我进入“街道”和路易斯安那州的运河,路易斯安那州的每条街道都会出现。
目前,如果我输入运河和路易斯安那州,查询将向我显示路易斯安那州和每条街道名为Canal(甚至不在路易斯安那州)的所有列表。
SELECT *
FROM File
WHERE (((File.State)=[Enter the state]))
OR (((File.City)=[Enter the city]))
OR (((File.Street)=[Enter the street]));
答案 0 :(得分:1)
我认为您应该能够使用AND而不是OR来连接不同列的条件,但如果没有给出参数,则不能使用列的条件。
SELECT *
FROM File
WHERE ( ([Enter the state] = '') OR (File.State=[Enter the state]) )
AND ( ([Enter the city] = '') OR (File.City=[Enter the city]) )
AND ( ([Enter the street] = '') OR (File.Street=[Enter the street]) );
我对Access有点生疏,所以如果没有输入参数,我不确定参数是null
还是''
,因此可能需要调整一点点。
答案 1 :(得分:0)
SELECT * FROM File WHERE
(((File.State)='[Enter the state]'))
OR (((File.City)='[Enter the city]'))
OR (((File.Street)='[Enter the street]'));
你只需要一些引号,因为它们是字符串。