2013-12-08 4 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

그래, 내가 이것을 시도 $ SELECT_ 평론 = '선택'평판'FROM'통계'WHERE'id' (SELECT'id' FROM'사용자'WHERE'유니온 =' ". $ id." ' ") SQL 구문에 오류가있어서, 사용중인 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. (영문) mysql_error()); echo "Test"$ the_member [ 'reputation']; 라인 1에서 ''근처에서 사용할 올바른 구문 –

관련 문제