链接2个表以显示可读统计信息

时间:2013-09-22 14:59:34

标签: php database

好吧,让我们来做吧。

我有2个表,一个用于存储可以选择的选项,另一个用于存储选择该选项的人数。

所以表1:

id, option_name, description

表2:

id, chosen_by_who

基本上如果“John”选择“Cat”(表1中的id为3),我的脚本将插入 (3, john)如果有5个人选择了“猫”,则会有5个“猫”计数,这就是我计划如何制作统计数据。

问题出在我的统计数据中说:“3”被5人选中。

我希望它说“猫”被5人选中。

由于Cat在表1中具有相同的ID,因此我想链接它们并将3定义为cat。

这就是我统计我的统计数据的方式:

$query = $pdo->prepare("SELECT  `optionid` , COUNT(  `optionid` ) AS times 
                        FROM  `has_picked` GROUP BY  `optionid`");
$query->execute();

所以基本上我想把1定义为狗,2定义为兔子,3定义为猫等等

2 个答案:

答案 0 :(得分:1)

您必须JOIN这些表,因此您可以访问这两个表中的列:

 SELECT  
     t2.option_name, 
     COUNT(t1.optionid) AS times 
 FROM  
     has_picked t1
 JOIN
     my_options t2 ON(t2.id = t1.optionid)
 GROUP BY  
     t1.optionid

答案 1 :(得分:0)

要合并多个表中的行,请考虑使用JOIN子句

SELECT 
    table1.id, 
    table1.option_name, 
    COUNT(table1.id) AS times
FROM table2
JOIN table1 ON (table1.id = table2.id)
GROUP BY
    table2.id