2014-03-25 2 views
2

저는 PHP 응용 프로그램을 개발하고 있으며 4 개의 테이블을 포함하는 쿼리가 필요합니다. 나는 상태 이름으로 필터링 된 결과를 보여 드리고자합니다 4 개의 테이블, 내부 조인을 포함하는 쿼리?

news {news_pk, user, description, building_pk} 
building {building_pk, area_pk, description} 
area {area_pk,state_pk} 
states {state_pk, name} 

(또는 내가 생각하는이 같은 state_pk입니다) : 테이블 같다. 특정 주에서 소식을 전하고자합니다.

저는 MySQL을 자주 사용하지 않지만이 응용 프로그램에서는 이와 같은 쿼리를 몇 가지하고 있는데 내부 연결이 좋은 해결책인지 확실하지 않습니다.

어떤 쿼리가 특정 주에서만 뉴스를 표시하는 데 가장 효과적 일 수 있습니까?

+0

예 조인 문제에 대한 좋은 솔루션 (즉, 여기에 문제가 있다면) – MSadura

+0

을 그것은 당신이 결과와 제약 조건으로 필요에 따라 달라집니다 있습니다 귀하의 질문에. – Biwaa

+0

제 대답을 확인하십시오. –

답변

0

당신은 테이블에 대한 조인 쿼리를 다음 사용해야합니다

mysql_query("select a.news_pk,a.user.a.description,a.buiding_pk,b.building_pk,b.area_pk,b.description,c.area_pk,c.state_pk,d.state_pk,d.name from news as a,buiding as b,area as c,states as d where a.buiding_pk=b.building_pk and b.area_pk=c.area_pk and c.state_pk=d.state_pk"); 
+1

몇 분 후에 작동한다면 시도해 보겠습니다. 고맙습니다! – Cking

+0

환영합니다. 환호 –

+0

괜찮습니다. 이제는 "상태 1"또는 "상태 2"만 표시하기위한 여러 변수와 조건을 추가해야합니다. – Cking

0

대단히 당신이 무엇을 원 하느냐에 달려 있습니다. 당신이 찾고있는 것이면 내부 결합이 좋은 해결책이 될 수 있습니다. 이 대답에서 조인의 차이점을 찾아 낼 수 있습니다. What's the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN?

희망이 있습니다. :)

+0

감사합니다. 나는 그것을 확실히 읽을 것입니다. MySQL에서 개선해야합니다! – Cking

관련 문제