sql - 如何比较Oracle中不同表中的日期
问题描述
我正在尝试比较我的数据库中的两个表。其中一张表(名为 ORDERED)有一个名为 OREDERDATE 的字段。另一个表(名为 ORDERLINE)有一个名为 DATESUPPLIED 的字段。
我想运行一个 SQL 查询来返回两个日期之间的天数差。
到目前为止,我已经尝试了一些事情(例如......
SELECT ordered.ordernumber, ordered.orderdate, orderline.datesupplied,
customer.customernumber,
LEAD (orderdate) OVER (partition by customernumber
ORDER BY customernumber) - datesupplied DIFF_DAYS
FROM ordered, orderline;
) ...但无济于事。
请协助。我的 ERD 如下 在此处输入图像描述
解决方案
我想你想要这样的东西:
select ol.ordernumber, ol.productcode,
trunc(ol.datesupplied) - trunc(o.orderdate) as days_difference
from orderline ol join ordered o on ol.ordernumber = o.ordernumber
;
这将仅显示订单号和产品代码(因此与第二个表中的行完全对应)以及供应日期和订购日期之间的天差。trunc()
需要将时间截断到午夜,因为这是你说你需要的。
如果您需要任一表中的其他列,请将它们添加到select
子句中。如果您必须过滤结果(例如,仅查找特定订单,或在给定日期之前或之后的订单等),请添加一个where
子句。如果您需要以某种方式对结果进行排序,请添加一个order by
子句。
推荐阅读
- javascript - 如何停止在检测表单是否已提交的函数之外启动的 setTimeout?
- r - RMarkdown 表不会使用 kable_styling 减小大小
- javascript - 如何从 Google Drive 复制文件夹以使用 JS 在 Google Drive 中创建新文件夹
- c# - UWP C#:IAsyncOperationWithProgress 的进度
- c++ - 1-4的乘法表
- sql - 雅典娜查询以匹配列数据中固定长度的字母数字字符
- python - 从python中的非python嵌套列表中提取数据(也许是json数据?)
- c# - 从不同的代码隐藏类访问变量
- html - 在 HTML 中使用 RTSP 流
- r - 如何将效果大小添加到 t 检验的 ggplot 条形图?(例如,Cohen 的 d 或 Hedges 的 g)