我正在尝试将SQL语句作为物化视图运行,然后将表与更大的表连接起来。我遇到了在较大的表中违反项目/位置组合的重复约束的问题。这是我的物化视图查询:
<div id = "container">
<h1>Emberails</h1>
{{ input value=newEntryName enter='addEntry' }}
<ul>
{{#each entries}}
<li>{{name}}</li>
{{/each}}
</ul>
</div>
现在,当我单独运行嵌套查询时,我减少了几百行,并且项目/位置组合都是唯一的,但是当运行整个查询时,将返回几百行并重复项目/位置。< / p>
答案 0 :(得分:0)
解决方案是使用函数max来取消CANCEL_ID以消除重复的ITEM / LOCATION。由于有一种罕见的情况,我有相同的ITEM,LOCATION,LAST_CNCL_DATE,但有两个不同的CANCEL_ID。这是我使用的代码。
SELECT CAN.CNCL_CNT, CAN.ITEM, CAN.LOCATION,
CAN.LAST_CNCL_DTE, MAX (OL.CANCEL_ID) AS CANCEL_ID
FROM ORDLOC OL,
(SELECT COUNT(CANCEL_DATE) AS CNCL_CNT, ITEM, LOCATION,
MAX(CANCEL_DATE) AS LAST_CNCL_DTE
FROM ORDLOC
WHERE CANCEL_DATE BETWEEN (TO_DATE(20160123,'yyyymmdd') -60) AND TO_DATE(20160123,'yyyymmdd')
GROUP BY ITEM, LOCATION) CAN
WHERE CAN.ITEM = OL.ITEM
AND CAN.LOCATION = OL.LOCATION
AND CAN.LAST_CNCL_DTE = OL.CANCEL_DATE
GROUP BY CAN.CNCL_CNT, CAN.ITEM, CAN.LOCATION, CAN.LAST_CNCL_DTE