2011-09-26 4 views
1

그냥 궁금 내가 여기서 뭔가 누락하는 경우? gid 열은 __users 테이블에만 있습니다.SQL 쿼리 간단한 질문

감사합니다.

편집 : ORDER BY 바로 앞에 Where 절을 넣으면됩니다.

답변

1
일치하는 사람에 결합 할 것입니다 #__users에서 단지 행을 원하는 가정

where 절은 조인 후에 올 Y 르게됩니다 :

$sql = "SELECT DISTINCT usr.id 
      , CONCAT(usr.username, '".PHP_EOL."') as username 
     FROM #__ads AS a 
     RIGHT JOIN #__users AS usr 
     ON usr.id = a.userid 
     WHERE gid= '19' 
     ORDER BY usr.username"; 
0

당신이 usr.gid= '19'

SELECT DISTINCT usr.id, 
       CONCAT(usr.username, '".PHP_EOL."') as username 
FROM #__ads AS a 
RIGHT JOIN #__users as usr ON usr.id = a.userid 
WHERE usr.gid= '19' 
ORDER BY usr.username 

대안

SELECT DISTINCT usr.id, 
       CONCAT(usr.username, '".PHP_EOL."') as username 
FROM #__ads AS a 
RIGHT JOIN #__users as usr ON usr.id = a.userid 
          AND usr.gid= '19' 
ORDER BY usr.username 

#__users에서 당신에게 모든 행을 제공하지만 usr.gid= '19'