【发布时间】:2020-06-05 15:28:06
【问题描述】:
我想编写一个返回成对书籍 (f_DOI, s_DOI) 的查询,它们遵循以下标准:与 s_DOI(第二本书)关联的关键字也都与 f_DOI(第一本书)关联。
关键字
Doi Keyword
1 'Adventure'
2 'Adventure'
1 'Fantasy'
2 'Thriller'
3 'Football'
4 'Football'
5 'History'
这是我的代码:
select k1.doi f_DOI , k2.doi s_DOI, k1.keyword
from keywords k1
join keywords k2
on k2.doi > k1.doi
where k1.keyword= k2.keyword;
这是我的输出:
f_DOI s_DOI KEYWORD
1 2 Adventure
3 4 Football
第一行不正确,你怎么看f_DOI = 1和s_DOI = 2只有'Adventure'关键字的共同点,其他两个不同(你可以在表格中看到关键字DOI = 1也有关键字 'fantasy' 和 DOI = 2 有关键字'thriller')。
【问题讨论】:
-
在您的示例数据中没有调用
f_doi。 -
标签: sql oracle inner-join