2013-08-05 2 views
0

다음 상황에 대한 해결책을 찾기 위해 애 쓰고 있습니다. 나는 4 개 테이블조건이있는 mysql 다중 테이블 SELECT

Table 1 
product_id|product_name 

Table 2 
Review_id|listing_name|rating|content|product_id|user_id 

Table3 
user_id|user_name| 

Table 4 
user_id|rank| 

PRODUCT_ID 표 1 및 표 2 USER_ID를 통해 같은 값을 가지고있는 표 2, 3, 나는 하나 개의 배열에 다음과 같은 성명을하는 데 도움이 필요 4

에 걸쳐 동일한 값을가집니다

SELECT review_id, rating, content, user_name, rank FROM T2, T3, T4 WHERE    product_id=$pid and WHERE T3.user_id = T2.user_id 

내 배열은 다음과 같아야합니다

$arr[review_id] = $row[review_id] 
$arr[rating] = $row[rating] 
$arr[content] = $row[content] 
$arr[user_name] = $row[user_name] 
$arr[rank] = $row[rank] 
나는 테이블 이름이 긴 경우는 쿼리에서 테이블 별칭을 사용할 수 있습니다 : 등, 테이블이 실제로 T1, T2를 호출되지 희망하지만, 이상적 :

모든 도움을 크게는

답변

1
SELECT T2.review_id, T2.rating, T2.content, T3.user_name, T4.tank 
    FROM T2 
    INNER JOIN T3 
     ON T2.user_id = T3.user_id 
    INNER JOIN T4 
     ON T2.user_id = T4.user_id 
    WHERE T2.product_id = $pid 
+0

PS를 appriciated 것 테이블 이름은 테이블에 포함 된 것을 설명하는 이름이어야합니다. –

+0

지금까지 훌륭하게 작동합니다. 내 테이블 r은 t1234 이외의 이름 – user2510952