如果只有单个查询可用,如何应用减号操作?

时间:2014-04-22 11:40:36

标签: java sql oracle hibernate math

我正在构建一个搜索应用程序,用户可以在表单中输入他的标准进行搜索。我正在使用内部API来构建与Hibernate标准构建类似的查询。我支持选择标准中的集合操作以获得更好的能力。现在对于单个查询的减号我应该如何建立我的标准?

例如

案例1:在一个简单的场景中,用户输入国家,姓名和出生日期字段进行搜索

选择USER_ID 从表1中可以看出 COUNTRY =“INDIA”AND NAME =“xyz”AND DATE_OF_BIRTH =“01/05/1990

案例2:现在用户想要搜索我支持的多个国家/地区,因此他将在一组中输入“US”,在另一组中输入“UK”。我将在它们上构建一个联合查询,如

选择USER_ID 从表1中可以看出 其中COUNTRY =“US”UNION从表1中选择USER_ID,其中COUNTRY =“UK”

案例3:现在用户希望用户来自“US”但不是“UK”,那么

选择USER_ID  从表1中可以看出  其中COUNTRY =“US”MINUS从表1中选择USER_ID,其中COUNTRY =“UK”

案例4:现在如果用户想要否定他的选择,就好像他想要除“Afganisthan”之外的所有用户,即如果他想要在单集上执行减去操作,我该如何构建查询?

案例5:现在如果用户想要否定他的选择,就好像他想要所有用户的除了满足设置1的记录,设置2并设置3个条件?

更新

我提供的用例是简单的案例,但实际上我可以有非常复杂的查询。为了支持多个数据库,在查询构建中,我们的api仅支持查询中的“AND”,“OR”运算符和查询中的“UNION”,“INTERSECT”和“MINUS”

1 个答案:

答案 0 :(得分:-1)

从表1中选择USER_ID,而不是“AFGHANISTAN”的国家/地区