2012-09-16 5 views
0

2 개의 테이블이 있습니다. 하나의 테이블에는 빠른 사용자와 두 번째 사용자와 같은 2 개의 사용자 ID가 연속적으로 있습니다. 다른 테이블은 사용자 이름과 같은 사용자 데이터를 포함합니다.Mysql 별칭 및 왼쪽 조인

왼쪽 가입을 사용하여 2 개의 사용자 이름을 검색하려면 어떻게해야합니까 ?? 나는 SQL 쿼리를하고 싶습니다. 어떻게 그 결과를 PHP에서 얻을 수 있습니까 ??

감사

Foysal

+0

일부 데이터 구조와 쉬을주지하시기 바랍니다 것 데이터 샘플. – cheneydeng

답변

1

SELECT a.fastuser, b.*, 
     a.secondUser, c.* 
FROM table1 a 
     LEFT JOIN table2 b 
      on a.fastUser = b.userID 
     LEFT JOIN table2 c 
      on a.secondUser = c.userID 
1

당신은 같은 테이블을 두 번 가입 할 수 있습니다,이 일을 시도하고 테이블 _ 이름 컬럼에 대해 서로 다른 별명을 사용

select u1.user_name as first_username, 
     u2.user_name as second_username 
from some_table t 
left join user_table u1 on t.first_user_id = u1.user_id 
left join user_table u2 on t.second_user_id = u2.user_id 
+0

그러면 어떻게 php에서 이러한 결과를 얻을 수 있습니까 ?? 아래처럼 $ row = mysql_fetch_array ($ result); echo "Name :". $ row [ 'name']; echo "나이 :". $ row [ 'age']; – Foysal

+0

'first_username'과'second_username'과 같은'alias' 이름을 사용할 수 있습니다. 그런 다음'$ row [ 'first_username']'과 같이 사용할 수 있습니다. 내 업데이트를 참조하십시오. –

0

테이블 1에는 사용자 정보가 포함되어 있다고 가정하십시오. - id, id_c, 전자 메일, 나이 등

여기 ID_C 표에서 (1 차 사용자에 대한) 표에서 ID가 표 1에 ID를 참조 ID,

여기 _ 이름 다음 (2 사용자) 표 2에 ID를 을 의미 - :

표 2는 사용자 _ 이름을 포함

select a.user_name,b.user_name,u.email from Table1 as u 
left join Table2 as a on u.id=a.id 
left join Table2 as b on u.id_c=b.id 

당신은 참고 용 내 블로그 게시물을 통해 갈 수처럼 쿼리

http://codebucket.co.in/for-mysql-savvy-multiple-joins-with-alias/