在Oracle SQL中查找列的MAX

乌尔文

我具有以下表结构:

Table A (A1, ...) where A1 is PK

Table B (B1, B2, ...) where A.A1 = B.B1 and B2 is PK 

Table C (C1, C2, C3, ...) where C.C1 = B.B2 and C1 is PK

给定提供了A.A1和C.C2,我需要获得C3的MAX()。以下显然不起作用:

select c.c3
from A a join B b on a.A1 = b.B1
         join C c on b.B2 = c.C1
where a.A1 = '123'
  and c.C2 = to_date('01-01-2000', 'mm-dd-yyyy')
  and c.C3 = (
    select max(c3)
    from C
    where c1 = c.C1)

查询不返回任何内容。但是,当我尝试:

select max(c.c3)
from A a join B b on a.A1 = b.B1
         join C c on b.B2 = c.C1
group by a.A1, c.C2
having a.A1 = '123'
  and c.C2 = to_date('01-01-2000', 'mm-dd-yyyy')

似乎返回正确的值,但是速度很慢。有没有办法让它与第一个查询一起使用(不分区)?

sqluser

您可以尝试WITH子句。

您的查询可能是这样的:

;WITH C AS(
    select c.c3
    from A a join B b on a.A1 = b.B1
             join C c on b.B2 = c.C1
    where a.A1 = '123'
      and c.C2 = to_date('01-01-2000', 'mm-dd-yyyy')
)
SELECT MAX(C3) FROM C

或者简单地说,

select max(cs)
from (
    select c.c3 as cs
    from A a join B b on a.A1 = b.B1
             join C c on b.B2 = c.C1
    where a.A1 = '123'
      and c.C2 = to_date('01-01-2000', 'mm-dd-yyyy')
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ORACLE SQL中的MAX()

来自分类Dev

如何通过Oracle中的SQL查询为每个ID查找TOP / MAX值?

来自分类Dev

查找按订单汇总的MAX日期-Oracle SQL

来自分类Dev

Oracle SQL:如何从组中查找记录

来自分类Dev

Oracle SQL-查找历史记录表中列更改的最新数据

来自分类Dev

Oracle SQL; 在两行或更多行中查找相同的列值组合

来自分类Dev

Oracle SQL在另一列中基于条件查找顺序值

来自分类Dev

Oracle SQL-查找历史记录表中列更改的最新数据

来自分类Dev

Oracle SQL-如何在用逗号分隔的值的列中查找匹配项?

来自分类Dev

Oracle SQL在另一列中基于条件查找顺序值

来自分类Dev

查找在oracle sql视图中使用的表和列

来自分类Dev

Oracle SQL嵌套max函数

来自分类Dev

Oracle SQL嵌套max函数

来自分类Dev

oracle sql查询在与列1和2匹配的第3列中查找具有多个值的行

来自分类Dev

如何从另一列中查找值并检查其是否重复,然后在Oracle SQL中删除行

来自分类Dev

Oracle SQL请求-SELECT中的SELECT具有MAX值

来自分类Dev

如何在Oracle SQL中执行复杂的MAX()和GROUP BY?

来自分类Dev

在Oracle SQL中查找不唯一的行

来自分类Dev

oracle sql查询以从属性中查找值

来自分类Dev

oracle sql查询以从属性中查找值

来自分类Dev

在 Oracle SQL 查询中创建日期并查找时差

来自分类Dev

Oracle SQL:透视列

来自分类Dev

Oracle SQL列中的日期之间的差异

来自分类Dev

多个列中的sql oracle sum valaues

来自分类Dev

SQL Oracle中的筛选时间戳记列

来自分类Dev

在Oracle中查找重叠时间

来自分类Dev

Oracle中的SQL优化

来自分类Dev

ORACLE 中列的索引

来自分类Dev

Oracle Apex与Oracle SQL Developer

Related 相关文章

热门标签

归档