【问题标题】:How to retrieve records based on two equals condition for the same column?如何根据同一列的两个相等条件检索记录?
【发布时间】:2013-04-18 05:01:54
【问题描述】:

我有一个包含 ID(主键,数字)、名称(varchar)、值(数字)和键(数字)列的表。我想检索所有键 = 1 和键 = 2 的记录。我可以使用不等于条件(!=)编写查询,但这会使查询很长。这是我尝试过的

SELECT * FROM USER_DETAILS WHERE NAME='sam' AND
KEY != 3 AND KEY != 4 AND KEY != 5 AND KEY != 6 AND KEY != 7 AND KEY != 8 AND 

等等。您能否建议我一个 Oracle 查询,在其中我可以检索 key=1 和 key=2 的记录,而不是检查不等于条件。

更新:正如答案中所建议的,我想知道 Hibernate 是否支持 IN

【问题讨论】:

标签: sql oracle hibernate oracle10g hql


【解决方案1】:
SELECT * FROM USER_DETAILS
WHERE
KEY=1 OR KEY=2

或者

SELECT * FROM USER_DETAILS
WHERE
KEY IN (1,2)

【讨论】:

    【解决方案2】:

    Hibernate 支持 IN OPERATOR。您应该编写以解决您的问题的查询是:

    SELECT * FROM USER_DETAILS WHERE NAME='sam' AND KEY IN (1,2)

    【讨论】:

      猜你喜欢
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多