我确信已经回答了,如果是的话,我想知道在哪里。
数据库
我有两个数据库" Conn"和" Conn2"
Conn host a table called Account.
Account has 2 columns: User_Key,Username
Conn2 has a table called Miles
Miles has 3 Columns: Miles_Key,Miles_User_Key, Miles_Amount
我想做的是创建一个排行榜。
我想从Conn2中拉出Miles_Amount并使用SUM函数来获取总值。使用INNER JOIN ON Miles_User_Key = User_Key从Conn获取用户名。
我可以使用单个数据库完成这一切,但我不知道如何使用双数据库执行此操作。
$LB_User_Query = " SELECT Miles_User_Key, Username, SUM(Miles_Amount) AS 'Miles'
FROM Miles
INNER JOIN Account
ON Account_Stats.Account_Stats_Account_Key = Miles.Miles_User
GROUP BY Miles.Miles_User
ORDER BY Miles Desc";
$LB_User_stmt = $Conn->prepare($LB_User_Query);
$LB_User_stmt->execute();
$LB_User_stmt->bind_result($Miles_User_Key, $Username, $Miles);
在旁注中,如果您想知道为什么帐户和里程位于两个单独的数据库中,那是因为我们有两个单独的网站,每个网站都填充相同的帐户..
答案 0 :(得分:0)
要从单独的数据库中提取数据,只需在表名前添加数据库名称即可。因此,您不是使用Account
,而是使用Conn.Account
而不是Miles
,而只使用Conn2.Miles
。
答案 1 :(得分:0)
好的,因为显然不可能将两个单独的数据库连接链接到一个查询。我在$ conn连接上设置了一个表来推送用户的名字,所以当我只用一个数据库连接运行这个查询时,我可以把它拉出来。