当前位置: 首页 > 知识库问答 >
问题:

获取两个不同的复合主键之间的所有记录

郎宣
2023-03-14

我有一个表,它在Oracle中有一个复合主键(多列的pk)。我正在运行一个示例查询以获取随机主键。

从表样(0.1)中选择col1、col2、col3、col4,其中col1='XXXXX'顺序为col2、col3、col4;

示例输出如下所示

XXXXX   1   YYY A
XXXXX   2   ZZZ a
XXXXX   3   AAA b
XXXXX   4   BBB c
XXXXX   5   CCC c
XXXXX   6   DDD c
XXXXX   7   EEE i

共有1个答案

太叔凌龙
2023-03-14

一般的模式是:

  • 如果一行的col1小于col1的比较值,则该行为“较低”,即排序后更靠前。
  • 如果一行的col1等于col1的比较值,并且该行的col2小于col2的比较值,则该行“较低”,即如果排序,则更靠前。
  • ..

会导致这样的表达式:

col1 < '?'
 OR col1 = '?'
    AND col2 < '?'
  OR col1 = '?'
     AND col2 = '?'
     AND col3 < '?'
   OR col1 = '?'
      AND col2 = '?'
      AND col3 = '?'
      AND col4 < '?'
    OR col1 = '?'
       AND col2 = '?'
       AND col3 = '?'
       AND col4 = '?'

(我没有用你的价值观,老实说,它们把我弄糊涂了。适当地替换问号。)

另一个方向的模式是模拟的。只需从<中生成>即可。然后是这两个子表达式。不要忘记在每一个前面加上括号,以强制在(()和(=>)前面。

如果可能的话,您可能想尝试使用布尔代数来简化它。(这一次我实在是太懒了,不想再尝试了。这样的模式更容易识别。)但由于这对优化器来说是一个简单的任务,如果可能的话,它可能会改变它,而且无论如何也是有希望的,因此除了更好的(人类)可读性之外,它没有太多的好处。

 类似资料:
  • 我试图获取提供的html(跨度)之间的数据(在本例中为31) 以下是原始代码(来自chrome中的inspect elements) 我有一个包含页面源代码的富文本框,下面是相同的代码,但是在富文本框的第51行: 我将如何做到这一点?我已经尝试了几种方法,但似乎都不适合我。 我试图从这一页检索点值:http://www.subxcess.com/sub4sub.php根据谁潜艇你的数量变化。

  • 问题内容: 我正在尝试使用JPA / Hibernate设置以下表: 可能有很多用户,每个用户最多只能有一个验证码,也可能没有。 这是我的课程: 我创建一个用户,然后尝试使用以下代码添加验证代码: 当我尝试运行它时,我收到org.hibernate.PersistentObjectException:分离的实体传递给持久化:用户 我还尝试在Validation类中使用以下代码: 当我创建验证码时,

  • 问题内容: 我陷入MySQL中的问题。我想获取两个日期时间项之间的记录数。 例如: 我的表中有一列名为“ created”的数据类型。 我想计算在“今天的4:30 AM”和“当前日期时间”之间的日期时间创建的记录。 我尝试了MySQL的一些功能,但仍然没有运气。 你能帮我吗?谢谢。 问题答案: 可能与: 或使用: 您可以根据需要更改日期时间。可以使用或获取所需的日期。

  • 它应该允许独立地更新表,并在父行被删除时删除子行。

  • 我必须用下面的长字符串。如何提取介于“url=”和“,”之间的所有值,以便获得以下数组? 我尝试了以下方法,但它只给我第一次出现,但我需要它们。谢谢!