gpt4 book ai didi

sql - 在 Oracle 中使用 sql 获取过去 7 天的数据行

转载 作者:行者123 更新时间:2023-12-02 05:49:20 25 4
gpt4 key购买 nike

查询返回数据行,包括过去 7 天的一些行。有很多左连接表,看起来我错过了一些东西。到目前为止,这是我的代码示例:

select a.a,
b.b,
c.c,
d.d,
e.e,
f.f,
s.start_date,
ack.acknowledge_date,
fin.finish_date,
g.g,
h.h,
i.i
from table_a a,
inner join table_b b on ... = ...,
left join table_c c on ... = ...,
left join table_d d on ... = ... `

等等。

我想从列 s.start_date、ack.acknowledge_date 和
Fin.finish_date 最近 7 天(我建议是 (sysdate -7))。但是,如果我执行以下操作:
select a.a,
b.b,
c.c,
...,
...,
...,
from ...
inner join ...
on ... = ...
left join ...
on ... = ...
left join`...
on ... = ...

where s.start_date >= sysdate -7 and
ack.acknowledge_date >= sysdate -7 and
fin.finish_date >= sysdate -7;

然后我有 0 行返回。但理想情况下,查询应该返回所有表中的所有行,如果这些日期字段上有任何行,它也应该返回它们,如果这些日期字段中没有数据,则将其留空,但所有其他行应正常返回。

最佳答案

不要放OUTER WHERE中的表条件条款如果它是 OUTER JOIN .将它们移至 ON代替!

LEFT JOIN <...> ON <...> = <...>
AND s.start_date >= sysdate -7

关于sql - 在 Oracle 中使用 sql 获取过去 7 天的数据行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27859147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com