0

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

我所拥有的知识应该足够了,但我真的很想做得更有效和更清洁。在数据库中,我有 3 个表,一个用于用户,一个用于收藏夹,一个用于历史记录,这与 FK 等相关联。我想要一个查询来返回用户保存的每个 Fav + History 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 我是半新手加入顺便说一句。

4

2 回答 2

0

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

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

于 2012-04-15T16:33:28.270 回答
0

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

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

SELECT h.url
FROM History h
WHERE h.userID = 1
于 2012-04-15T16:35:05.490 回答