2013-12-08 75 views
0

我試圖找到組的攻擊能力。所有的從表中獲取多個條目

首先我:

$the_members = mysql_query(" SELECT 
           `id` 
           FROM 
           `user` 
           WHERE 
           `group` = '".$group."' 
          ") 
           or die(mysql_error()); 

然後我們要找到每個人的力量,所以:

$find_members_power = mysql_query(" SELECT 
             `reputation` 
            FROM 
             `stats` 
            WHERE 
             `id` = '".$the_members['id']."' 
            ") 
            or die(mysql_error()); 

接着我們來一起添加所有的玩家電源組電源。
到目前爲止,我已經顯示的代碼不工作,之後我需要添加電源。

會很好的一些幫助!

+0

這是因爲在這個文檔頁面中描述的'INNER JOIN' http://dev.mysql.com/doc/refman/4.1/ EN/join.html。基本上你有兩個表匹配的列,每匹配一次你就可以得到相應的行。 – Deryck

回答

2

爲什麼不使用單個查詢而不是兩個單獨的查詢?

SELECT `reputation` 
FROM `stats` 
WHERE `id` in (SELECT `id` 
       FROM `user` 
       WHERE `group`='".$group."'") 

或更容易,使用連接:

SELECT `reputation` 
FROM `stats` s 
JOIN `user` u ON u.`id` = s.`id` 
WHERE u.`group`='".$group."'" 
+0

好吧,我試過這個 $ the_member = mysql_query(「SELECT'reputation' FROM'stats' WHERE'id' in(SELECT'id' FROM'user' WHERE'union' ='」。$ id。「'」)或者死亡(mysql_error()); echo「Test」。$ the_member ['reputation']; 而我得到這個錯誤 你的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊在第1行附近使用正確的語法 –