我有三个查询,我想将它们合并为一个查询,该查询可以接受可变长度的 WHERE
参数;我一辈子都不记得如何做到这一点。
PreparedStatement queryOne = connection.prepareStatement
("SELECT columnOne, columnTwo, columnThree FROM tableOne WHERE columnOne = ?;" );
PreparedStatement queryTwo = connection.prepareStatement
("SELECT columnOne, columnTwo, columnThree FROM tableOne WHERE columnTwo = ?;" );
PreparedStatement queryThree = connection.prepareStatement
("SELECT columnOne, columnTwo, columnThree FROM tableOne WHERE columnOne = ? AND columnTwo = ?;" );
最佳答案
所有三个查询都从同一个表中选择相同的列,因此可以在一个语句中轻松完成它们的并集:
SELECT columnOne, columnTwo, columnThree
FROM tableOne
WHERE columnOne = ?
or columnTwo = ?
or (columnOne = ? AND columnTwo = ?)
关于java - 带有可变参数的简单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620140/