2013-03-08 2 views
0

사용자가 자신의 이벤트 테이블과 초대 된 이벤트 테이블을 가지고있는 간단한 mysql 데이터베이스가 있습니다. user_id 어떤 수와 동일입니다mysql 질의가 잘못된 행을 반환합니다.

User-->>Own events (user_id is foreign key) 
User and Own events-->>Invited Events(user_id is foreign key, event id is foreign key) 

나는 Invited Events에서 OWN EVENT 세부 사항을 얻으려면

예 :

enter image description here

나는 노력이 suppo

$user_id = $_POST["user_id"]; 
$stmt = $mysqli->query("SELECT A1.event_id,A1.root_folder,A1.event_name,A1.date,A1.location,A2.user_id FROM OWN_EVENTS A1, INVITED_EVENTS A2 WHERE A2.user_id=$user_id"); 

$rows = array(); 
while($r = mysqli_fetch_assoc($stmt)) { 
    $rows[]=$r; 
} 

sed는 event_id=3의 이벤트 세부 사항을 (1 행)으로 지정하지만 OWN_EVENTS 테이블의 모든 행을 반환합니다.

내가 뭘 잘못하고 있니?

답변

3

현재 쿼리는 카티 션 곱을 반환합니다.

두 테이블이 서로 어떻게 연결되어 있는지 옵티 마이저에게 알려줘야합니다.

SELECT A1.event_id,A1.root_folder,A1.event_name,A1.date,A1.location,A2.user_id 
FROM OWN_EVENTS A1 
     INNER JOIN INVITED_EVENTS A2 
      ON A1.columnName = A2.columnsName // columns that defines their relationship 
WHERE A2.user_id=$user_id 

조인에 대해 더 친절하게 아래 링크를 방문, 더 많은 지식을 얻기 위해 : 내가 조인에 대한 자세한 내용을 배울 필요가 생각 잘 작동 빠른 답변

+0

감사 in sql. –

+0

@MordFustang 내 업데이트 된 답변을 참조하십시오. –

관련 문제