0

我要解决的问题是我想计算同一个用户名出现在 2 个或多个表中的次数。

我要搜索的用户名需要从中选择$_SESSION['username']

First Table
| id | username |  date |
| 1  |   Mart   |28-5-13|
| 2  |   farm   |27-5-13|
| 3  |   Mart   |29-5-13|

Second Table
| 1  |   Mart   |22-5-13|
| 1  |   Mart   |25-5-13|
| 1  |   farm   |24-5-13|

来看看我的$_SESSION['username'] = 'Mart'

如何计算两个表中出现相同用户名“Mart”的次数?

是不是有点像?

$bloo = mysql_query('SELECT COUNT("username") FROM events AND Good WHERE username = "'.      mysql_real_escape_string($_SESSION['username']) . '"');
while ($row2 = mysql_fetch_array($bloo))

还是我走错了路?

任何帮助表示赞赏!谢谢

4

2 回答 2

1

试试你提到的 2 个表的位置first_table和位置(“对不起,1 个数据库 2 个表!”):second_table

SELECT
    SUM(c)
FROM (
    SELECT COUNT(*) as c FROM first_table WHERE username = 'Mart'
    UNION ALL
    SELECT COUNT(*) as c FROM second_table WHERE username = 'Mart'
) as tmp
于 2013-05-28T09:52:07.290 回答
0

所有数据库是否在同一服务器中?!因为我认为分离服务器的最佳解决方案是使用 Web 服务......但如果不是,您只需从两个查询中添加两个值。

连接多个mysql数据库

$dbh1 = mysql_connect($hostname, $username, $password); 
$dbh2 = mysql_connect($hostname, $username, $password, true); 

mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);

$res1 = mysql_query('select count(*) from tablename WHERE username="username"', $dbh1);
$res2 = mysql_query('select count(*) from tablename WHERE username="username', $dbh2);

$val1 = mysql_fetch_row($res1);
$val2 = mysql_fetch_row($res2);

$sum = $val1[0] + $val2[0];
于 2013-05-28T10:11:38.937 回答