2017-02-23 233 views
0

我在数据库中有5个字段。查询where子句有5个参数。制作搜索过滤器

现在,如果我没有传递参数,它应该检索所有记录。如果我只传递第二个参数,它将根据该参数进行检索。但是如果我通过2nd和任何参数之后它只取第二个参数,它不会使用第二个参数后的参数。我使用或操作:

查询

select address from table1 where state ='' or city ='Aa' or address_line ='school' 

应该检索具有城市= Ab和ADDRESS_LINE =学校的所有记录。但它根据城市检索,它不使用address_line。

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry

+0

我不明白,, – askandanswer

+0

为什么你说,并通过文字和写或在您的查询? –

回答

0

我认为你必须有机会第二它也选择第二个参数

你litteraly说,在你的解释“和”为什么还是老样子写或。

+0

,因为查询可能有第二个参数或不可以。 – askandanswer

+0

是的。如果有2个答案,你使用OR。只有1个很好的答案。和如果你在这种情况下有2个正确的答案 –