我有一个包含多个列的数据库。现在我有一个 Java 程序,我可以在其中搜索数据库中的不同行。但是我需要 SQL SELECT 请求的帮助。 我有一些 texfields 和一些复选框。现在我想如果文本字段为空,或者在其中一个复选框中选择了“任何”,则选择请求应该从此列中选择所有。
这是我现在的要求:
resultSet = sqlStatement.executeQuery("SELECT * FROM Messgerate WHERE COLUMN1 LIKE '%"+sColumn1+"%'" +
"AND COLUMN2 LIKE '%"+sColumn2+"%'" +
"AND COLUMN3 LIKE '%"+sColumn3+"%'" +
"AND COLUMN4 LIKE '%"+sColumn4+"%'" +
"AND COLUMN5 LIKE '%"+sColumn5+"%'" +
"AND COLUMN6 LIKE '%"+sColumn6+"%'" +"");
如果我在所有文本字段和复选框中输入内容,此请求就会生效。
有人可以帮帮我吗?
最佳答案
你能用OR
代替AND
吗?它会解决你的问题。因为如果第一个条件和第二个条件都为真,AND
运算符会显示一条记录。
OR
运算符在第一个条件或第二个条件为真时显示一条记录。
"SELECT * FROM Messgerate WHERE COLUMN1 LIKE '%"+sColumn1+"%'" +
"OR COLUMN2 LIKE '%"+sColumn2+"%'"
"OR COLUMN3 LIKE '%"+sColumn3+"%'" +
"OR COLUMN4 LIKE '%"+sColumn4+"%'" +
"OR COLUMN5 LIKE '%"+sColumn5+"%'" +
"OR COLUMN6 LIKE '%"+sColumn6+"%'" +"");
关于java - SQL 请求 - 具有多个空值的 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490359/