2012-05-18 3 views
1

나는 다음과 같은 관계로 몇 테이블을 가지고있다 -관련된 경우 여러 많은 많은 관계로 쿼리하는 방법을

publications->id name 
categories->id name 
types->id name 
program->id name 

간행물 많은 종류, 많은 종류와 많은 프로그램을 할 수는 .. 마찬가지로 각각의 하나는 많은있다 간행물. 따라서 게시 테이블에는 이러한 각 테이블과 많은 관계가 있습니다. 는 따라서 내가 그들 각각에 대해 연관 테이블을 생성하고 모든 출판물의 이름을 보려면 위의

pub_cat ->publicationid categoryid 
pub_type->publicationid typeid 
pub_prog->publicationid programid 

지금 내가 가지고있는 각각의 링크 아래 세 개의 테이블을 어디다 말할 카테고리 ID = 2, 유형 ID = 2 programid = 1

나는이 복잡한 쿼리를 매우 신중하게 생각하며 어떤 도움을 주시면 감사하겠습니다.

+1

에 대해 알아 라파엘 [SQL 조인] ..thanks 해결 (http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html). 대답이 성공하면 – eggyal

답변

0

좋아, 난 그냥이 @ eggyal, @

select id,title,pub_cat.catid,pub_prog.progid,pub_type.typeid from publications 
inner join pub_cat on publications.id=pub_cat.pubid 
inner join pub_prog on publications.id=pub_prog.pubid inner join pub_type 
on publications.id=pub_type.pubid where pub_type.typeid=6 and pub_cat.catid=7 
and pub_prog.progid=1; 
+0

답을 수락하십시오. – nawfal

+0

2 일 안에 답변 만 수락 할 수 있습니다 ... – Rasmus

0

모든 테이블을 함께 조인하고 where 절에 찾으려는 항목을 명시해야합니다. 예는 수 :

SELECT * FROM t1 LEFT JOIN (t2, t3, t4) 
      ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) 
WHERE t2.a = 1; 

이 여기에서 불과 예입니다 MySQL Refeerence

관련 문제