搜索查询以获取数据

时间:2016-03-04 14:52:18

标签: mysql sql swing jdbc plsql

我想要写入搜索查询,该查询根据ID,姓名和出生日期等多种条件从学生表中获取数据。 如果我使用OR条件

excluded

如果输入任何一个字段,它将返回。如果输入多个字段,则仅考虑第一个字段。 如果我使用AND条件

Select * from students where Id='101' or name='Kumar' or age='21';

仅在输入所有字段时才会返回。如果任何一个字段为空,它将返回零,我的意思是它将返回空。我想得到结果甚至一些字段都是空的。

我使用这个采石场进行挥杆应用如果我还没有在其中一个字段中输入文字,那么它将变为空,就像我' d =''不是空的 如何在这种情况下获得结果

Select * from students where Id='101' and name='Kumar' and age='21';

2 个答案:

答案 0 :(得分:4)

  

即使某些字段为空,我想得到结果。

然后在你的条件中加入。像这样:

Could not locate Gemfile

括号中的嵌套条件允许您构建相当复杂的条件逻辑。你如何定义找到你想要找到的记录的逻辑真的取决于你。

答案 1 :(得分:0)

不使用LIKE使用%子句。所以它将作为一个简单的=。以下是它的工作原理。

if(txtId.getText().equals("")){
  String id = "%%";
}else{
  String id = txtId.getText();
}

if(txtName.getText().equals("")){
  String name = "%%";
}else{
  String name = txtName.getText();
}

if(txtAge.getText().equals("")){
  String age = "%%";
}else{
  String age = txtAge.getText();
}

resultset = statement.executeQuery("SELECT * FROM student WHERE id LIKE '"+ id +"' and name LIKE '"+ name +"' and age LIKE '"+ age +"';");

试一试。它会像魅力一样工作。 (您可以根据自己的数据库更改查询)