繁体   English   中英

需要帮助查询两个数据库(第一次尝试这样做)

[英]Need help querying across two databases (first time trying to do this)

我有两个需要使用的数据库,db_site和db_forum(这些是通用名称,FYI)。

db_site有一个名为main-news的表,它有一个forumurl字段,用于保存论坛帖子ID和一个视图字段,用于保存数据库中文章条目的当前页面视图 db_forum有一个名为forum_threads的表,该表具有一个tid字段和一个replies字段。

我有两件事需要做,一是仅使用答复,另一是使用答复和视图。 我认为一旦弄清楚了前者,就不会仅仅增加一些额外的部分,所以我暂时关注的是前者。

由于两个表位于不同的数据库中,因此不确定该如何处理。 我正在使用的登录可以访问它们(AFAIK),所以这不是问题,它更多的是涉及的语法。 我想做的事情可能是这样吗?

SELECT
    db_forum.forum_threads.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl

根据我在网上可以找到的信息,这只是一个粗略的猜测,只是进行了这种查询。 任何帮助表示赞赏。 :)

首先,您应该正确缩进SQL代码。 那条长长的线几乎不可读。

SELECT
    db_forum.forum_threads.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl

然后,使用表别名“ f”和“ s”。 您介绍了它们,因此必须使用它们:

SELECT
    f.replies AS replies
FROM
    `db_forum.forum_threads` AS f,
    `db_site.main-news` AS s
WHERE
    f.tid = s.forumurl

最后,你应该删除不必要的引用:

SELECT
    f.replies AS replies
FROM
    db_forum.forum_threads AS f,
    db_site.main-news AS s
WHERE
    f.tid = s.forumurl

如果这些字段的名称指示其功能,则f.tid引用一个标识列,而s.forumurl则不引用。 通常,在这种情况下,s.formurl是外键。 只是一个猜测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM