我有两个需要使用的数据库,db_site和db_forum(这些是通用名称,FYI)。
db_site有一个名为main-news的表,其中有一个 forumurl 字段,其中包含一个论坛帖子ID和一个 views 字段,其中包含文章条目的当前综合浏览量在数据库中。 db_forum有一个名为forum_threads的表,其中包含 tid 字段和回复字段。
我有两件事我需要做,一个只使用回复,另一个使用回复和视图。我假设一旦前者被弄清楚,后者不会比添加一些额外的部分多,所以我暂时关注前者。
由于两个表位于不同的数据库中,因此不确定如何处理此问题。我正在使用的登录可以访问它们(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
这是一个粗略的猜测,我可以在网上找到这种类型的查询。任何帮助表示赞赏。 :)
答案 0 :(得分:2)
首先,您应该正确缩进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
答案 1 :(得分:0)
如果字段的名称表示其功能,则f.tid表示标识列,而s.forumurl则不表示。通常,在这种情况下,s.formurl将是外键。只是一个猜测。