从两个表SQL中计算两列

时间:2013-02-23 06:15:19

标签: php sql

我有数据位于两个表中,我想计算,然后使用Google条形图显示。我一直在努力,无法在其他任何地方找到这种情况。这两个表有共同的user_id,我想计算第一个表(qsp_tiles)中的gam_id列和第二个表(qsp_orders)中的mam_id。这是我正在使用的一些代码:

$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 Thu,20,50],这就是需要进入谷歌条形图的地方。我想在过去的5天内吐出来,但是现在我只需要知道如何做一天。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分: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