【发布时间】:2018-08-08 09:57:04
【问题描述】:
大家好,我在查询方面需要一些帮助。
通过下面的select 查询,我收到了左表的结果。(见附图)。
问题是我需要修改这个查询以获得正确的表中的结果。
SELECT DISTINCT * FROM(
SELECT
TO_CHAR(D1111MOI__.D1111TFROM + INTERVAL '3' HOUR, 'DD.MM.YYYY HH24:MI') AS TFROM,
TO_CHAR(D1111MOI__.D1111TTILL + INTERVAL '3' HOUR, 'DD.MM.YYYY HH24:MI') AS TTILL,
D1110MOL__.D1110ORDER AS NR,
R0507UNIT_.R0507NAME_ AS NAME,
D1110MOL__.D1110POW__ AS AV
FROM D1110MOL__
INNER JOIN D1109MOH__
ON D1110MOL__.D1109ID___ = D1109MOH__.D1109ID___
AND D1110MOL__.D1110DDAYS = D1109MOH__.D1109DDAYS
INNER JOIN D1111MOI__
ON D1109MOH__.D1109ID___ = D1111MOI__.D1109ID___
AND D1109MOH__.D1109DDAYS = D1111MOI__.D1111DDAYS
INNER JOIN R0507UNIT_
ON D1110MOL__.R0507ID___ = R0507UNIT_.R0507ID___
WHERE (D1111MOI__.D1111TFROM >= TO_DATE('17.05.2017 21:00', 'dd.mm.yyyy hh24:mi')
AND (D1111MOI__.D1111TTILL <= TO_DATE('18.05.2017 21:00', 'dd.mm.yyyy hh24:mi')))
AND D1109MOH__.D1109TYPE_ = 1
AND D1110MOL__.D1110SEL__ = 1
)
ORDER BY TFROM,NR;
【问题讨论】:
-
提示:
GROUP BY和SUM() -
轻松为您提供帮助。创建一个最小的例子。将样本数据和预期结果作为格式化文本。
-
我没有看到
D1110MOL__、D1109MOH__、D1111MOI__等的任何定义或示例数据,只是一个查询和实际结果与预期结果的屏幕截图。也许一个更简单的例子可以说明没有 4 路连接和日期操作的问题。 -
但关键是我无法测试您的查询来修复它,因为我没有您的表格。
标签: sql oracle plsql oracle-sqldeveloper