gpt4 book ai didi

mysql - 合并来自不同数据库的 2 个 MySQL 查询

转载 作者:可可西里 更新时间:2023-11-01 08:08:56 27 4
gpt4 key购买 nike

我一直在努力解决这个问题,但我总是收到错误或挂起的查询。基本上我有两个数据库查询(每个数据库一个),我需要将第一个的结果合并到第二个中,但还要在第一个中使用第二个查询的 ID...令人困惑!

首先是一个简单的查询。获取批准的主题数并将其设置为“commentnumber”。正如您在 WHERE 子句中所见:它需要使用 a.ID,这将来自第二个查询

数据库 1

(SELECT (t.topic_posts_approved - 1) 
FROM forum.bb_topics t, forum.bb_xpost xp
WHERE xp.wp_id = a.ID
AND t.topic_id = xp.topic_id) as 'commentnumber'

这是我创建的一个查询,用于获取 3 个 wordpress 帖子并按“权重”对它们进行排序。如果我删除“commentnumber”(从第一个查询中),它显然会起作用。

数据库 2

SELECT a.post_author, a.id, b.pageviews, a.post_title, a.guid, c.meta_value,  (b.pageviews * (c.meta_value + (commentnumber * 1.25))) AS 'weight'
FROM wordpress.wp_posts a, wordpress.wp_poppodyd b, wordpress.wp_postmeta c
WHERE a.ID = b.postid and (a.ID = c.post_id)
AND c.meta_key = 'thumbs_up'
AND (b.day >= NOW() - INTERVAL 2 DAY)
GROUP BY a.post_author
ORDER BY weight DESC
LIMIT 3

我尝试过内部加入它们,但我不知道自己在做什么,或者查询太多,因为我尝试过的一些变体只是挂起,直到被杀死。

如有任何帮助,我们将不胜感激!

最佳答案

我又坐了几个小时才弄明白。

正如人们所说,使用database.table.column name 是关键。

这是我在一个查询中的最终结果:

SELECT a.post_author, a.id, b.pageviews, a.post_title, a.guid, c.meta_value, t.topic_posts_approved, (b.pageviews * (c.meta_value + (t.topic_posts_approved * 1.25))) AS 'weight'
FROM wordpressdb.wp_posts a, wordpressdb.wp_poppodyd b, wordpressdb.wp_postmeta c, forumdb.bb_topics t, forumdb.bb_xpost xp
WHERE a.ID = b.postid and (a.ID = c.post_id) and (a.ID = xp.wp_id) and (t.topic_id = xp.topic_id)
AND c.meta_key = 'thumbs_up'
AND (b.day >= NOW() - INTERVAL 2 DAY)
GROUP BY a.post_author
ORDER BY weight DESC
LIMIT 3

关于mysql - 合并来自不同数据库的 2 个 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52854171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com