2013-09-22 72 views
0

好吧,讓我們來看看它。鏈接2個表格以顯示可讀的統計信息

我有2個表格,一個用於存儲可以選擇的選項,另一個用於存儲多少人選擇該選項。

所以表1:

id, option_name, description 

表2:

id, chosen_by_who 

基本上如果 「約翰」 選擇 「貓」(其中有ID:3表1)我的腳本將插入 (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爲貓等

回答

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 
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 
+0

嗨,您的文章已被標記爲「低質量」,可能是因爲它僅由代碼組成。你可以通過提供解釋這個問題的答案和原因的解釋來大幅提高你的答案。 – Ben