每当我使用以下语句查询时,我的 Oracle SQL Developer IDE 中都会出现重复记录:
SELECT currency.currency_story.story_id,
currency.currency_story.datetimestamp,
currency.currency_story.headline,
currency.currency_story_body.body
FROM
currency.currency_story INNER JOIN
currency.currency_story_body ON
currency.currency_story.story_id = currency.currency_story_body.story_id
WHERE
currency.currency_story.datetimestamp > '18-Oct-12' AND
SUBSTR(currency.currency_story.story_id,10,4) > '1825'
ORDER BY
currency.currency_story.datetimestamp ASC
因此,在为两个表(currency_story 和 currency_story_body)运行底部语句后,我得到了 0 行:
select currency.currency_story_body.story_id
from currency.currency_story_body
group by currency.currency_story_body.story_id
having count(*) > 1
我也为currency_story 表做了同样的事情,我得到了0 行。现在我知道每个表中都没有重复记录。所以我猜我的 JOIN 是错误的?但我没有看到它的缺陷?
这是我的执行计划:
Mycurrency.currency_story_body.body
是 aCLOB
并且story_id不是主键。我应该在这里做什么?