2013-02-23 130 views
0

我有数据位于两个表中,我想要计数然后使用谷歌条形图显示。我一直在挣扎,无法在其他地方找到这种情况。这两个表具有相同的user_id,我想从第一个表(qsp_tiles)开始计算gam_id列,从第二个表(qsp_orders)开始计算mam_id。这里有一些我正在使用的代码。从两个表中计算两列sql

$db->setQuery("SELECT t.user_id, COUNT (o.gam_id) AS wake, COUNT(t.mam_id) AS chuck, 
FROM #__qsp_tiles t 
FULL JOIN #__qsp_orders o 
ON t.user_id=o.user_id 
"); 

$result = $db->loadObjectList(); 

foreach ($result as $row){ 
$array[date("d D",$row->payment_date)]['wake'] += $row->wake; 
$array[date("d D",$row->payment_date)]['chuck'] += $row->chuck; 
} 
foreach ($array as $k => $a) { 
$out[] = "['{$k[payment_date]}', {$a[wake]}, {$a[chuck]}]"; 
} 
?> 

<?php 
echo implode(",", $out); 
?> 

当最后一位应该得到变成类似[5星期四,20,50],这是需要进入谷歌的条形图。我希望它能在过去5天内吐出,但现在我只需要知道如何去做一天。任何帮助将非常感激!

回答

0

这并不完全清楚你想达到什么目的,但是如果你只是想计算每个表中的行数,我会用两个单独的select语句来计算行数,如下所示:

select count(gam_id) from qsp_tiles 

select count(mam_id) from qsp_orders 

如果你要计算的是两个表有共同我会用下面的语句行数(它基本上你已经使用的相同,只是没有在select中只有一个计数中的user_id字段):

select count(t.user_id) from qsp_tiles t inner join qsp_orders o on t.user_id = o.user_id