我有两个表,Page 和 Hyperlink,分别存储网页 URL 和它们的连接(超链接)。在 Page 表中,我有一个 page_id 列,它是所有唯一条目的 AUTO_INCREMENT。在超链接表中,我将 page_id 用于超链接的源和目标。
表:页
page_id | page_url
--------------------
1 | a.com
2 | b.com
3 | c.com
4 | d.com
表:超链接
hyperlink_id | source_id | destination_id
1 | 1 | 2
2 | 1 | 3
3 | 2 | 4
4 | 4 | 4
在给定超链接 ID 的情况下,我想检索一个连续返回两个字符串 a.com 和 b.com 的 ResultSet。假设 hyperlink_id 为 1。
我尝试使用下面的查询,但似乎没有用。
SELECT Page.page_url, Page.page_url from Hyperlink
JOIN Page
ON Page.page_id = Hyperlink.source_id
AND Page.page_id = Hyperlink.destination_id
where Hyperlink.hyperlink_id = 1
这个查询给我返回了一个空的 ResultSet。
但是,此查询适用于 hyperlink_id = 4。我认为此查询在source_id != destination_id
. 我的 SELECT 语句有什么问题?