好的,到此为止。. . 我有一个使用 ASP、VB.net 等在 Microsoft Visual Web Developer 中开发的 Web 应用程序,它允许“卖家”发布广告供“买家”查看。当买家搜索产品时,每个结果都需要显示卖家的名字,以及产品的信息。问题在于保存各种产品信息的表位于一个数据库中,而用户/会员信息存储在另一个数据库中。
我将提供一个例子。在这种情况下,买方正在搜索特定书籍的所有广告。
- 每个广告都记录在数据库 db_1 和表 [Results] 中,其中包含 ID_USER 和 ID_BOOK 列。
- 书籍信息存储在 db_1 [Books] 中,其中包含 ID、TITLE、AUTHOR 列。
- 用户信息存储在单独的数据库 db_2 和表 [Users] 中,其中包含 ID 和 NAME 列。
鉴于此,我将如何执行以下操作:
SELECT u.Name [Seller]
, b.Title [Title]
, b.Author [Author]
FROM db_1.Results r
INNER JOIN db_1.Books b
ON b.id = r.id_book
INNER JOIN db_2.Users u
ON u.id = r.id_user
WHERE b.Title like 'Some Book Title'
如果这些表在同一个数据库中(我现在希望我已经这样做了),那么我会很容易地运行一个内部连接或其他一些选择语句来只提取相关数据。我也考虑过创建数据集并加入它们(例如,http ://www.vb-helper.com/howto_net_dataset_foreign_key.html ),但这不会太重服务器吗?
我对 SQL 语句有一半的了解,但我所有的知识都来自谷歌和实践,所以如果我忽略了每个受过经典训练的程序员都知道的一些关键警告,我深表歉意。预先感谢您的帮助。
更新:我想我会提供有关情况的更新。该问题实际上与权限无关。问题是 VWD 找不到对象。我通过使用 CROSS JOIN 并在 select 语句中明确说明 .mdf 文件的目录路径解决了这个问题。再次感谢您的所有帮助。