2011-05-09 6 views
1

3 개의 테이블로 구성된 포럼을 만들려고합니다. 포럼 테이블, 주제 테이블 및 게시물 테이블.테이블을 결합하고 COUNT 함수를 사용하는 데 문제가 있습니다.

모든 포럼을 표시하는 페이지에 각 포럼의 주제 수와 해당 포럼의 게시물 수를 표시하고 싶습니다. 꽤 표준적인 것들. 그러나 MySQL 쿼리에 문제가 있습니다. 이것은 내가 사용하고있는 것입니다 :

이것은 각 포럼에 대해 하나의 행을 반환하지만 주제 개수와 게시물 개수는 서로 동일하게 반환됩니다. 게시물 개수가 정확하므로 문제는 주제 수에 있습니다.

포럼 테이블은 forums_posts가 속한 주제의 ID 번호를 포함하여 구성되며, 포럼에 속한 포럼의 ID 번호를 포함하지 않습니다. forums_topics 테이블에는 자신이 속한 포럼의 ID 번호가 들어 있습니다.

내 쿼리를 어떻게 수정할 수 있습니까? forums_posts 테이블에 게시물이 속한 forum_id를 추가하면 더 좋을까요?

감사합니다.

답변

0

문제는 COUNT(t.topic_id)이 토픽 ID를 계산합니다. 주제 ID의 고유 한 수를 계산하려고합니다.

뭔가

SELECT f.* , COUNT(DISTINCT (t.topic_id)) ... 
+0

찰흙처럼, 그것은 그런 간단한 일이 될 것입니다 생각. 대단히 감사합니다. – Geomancer

+0

환영합니다. 문제가 해결되면 질문에 답변으로 표시하십시오. – Ryan

관련 문제