一个数据适配器,两个不同的表

本文关键字:两个 适配器 一个 数据 | 更新日期: 2023-09-27 18:31:06

我发现很难解释发生了什么,我会尽力而为。我们需要制作一个非常简单的浏览器,具有非常简单的收藏夹 + 历史记录功能,为此,我们需要将它们导入到数据集中并从那里使用它们。

我拥有的知识应该足够了,但我真的很想做得更有效 en 更清洁。在数据库中,我有 3 个表,一个用于用户,一个用于收藏夹,一个用于历史记录,这与 FK 等相关联。我想要一个查询,返回用户保存的每个收藏夹 + 历史记录 URL。这就是我现在拥有的:

SELECT u_id, u_user, h_url, f_url FROM Users, Favorites, HistoryWHERE u_id = h_id AND u_id = f_id AND u_id = 1

这不是我想要的结果,我想填充 2 个组合框,一个带有收藏夹,一个带有历史记录,两者都来自当时登录的人。

我知道这应该适用于 join,但内部和外部都很少或很多结果,左联接和右联接似乎也不适合我,但我无法解释为什么。 :p 顺便说一句,我是加入的半新手。

一个数据适配器,两个不同的表

听起来您实际上想要两个简单的查询,一个用于收藏夹,一个用于历史记录。 这两个查询只需要有一个 where 子句来限制为其返回结果的用户。

SELECT f.url
FROM Favorites f
WHERE f.userID = 1
SELECT h.url
FROM History h
WHERE h.userID = 1

如果你想填充两个组合框,我建议你检索两个单独的列表,每个组合框一个。然后,您可以将每个列表单独绑定到其组合框。

虽然数据集可能不是最佳选择,但我认为它们在这种情况下会为您工作。您的目标是编写两个 SQL 语句,每个列表一个。然后,将查询结果放入包含在一个数据集中的数据表中。数据表可以绑定到组合框。