2015-01-09 4 views
1

나는이 테이블을 보았다. 거기보세요.MySql에서 두 개의 select 문을 결합 하시겠습니까?

create table if not exists thread_question 
    (
    question_id INT NOT NULL auto_increment, 
    first_name VARCHAR(100) NOT NULL, 
    last_name VARCHAR(100) NOT NULL, 
    question_title VARCHAR(500) NOT NULL, 
    question VARCHAR(100000) NOT NULL, 
    question_dateTime VARCHAR(100) NOT NULL, 
    PRIMARY KEY(question_id) 
); 

create table if not exists thread_answer 
(
    answer_id INT NOT NULL auto_increment, 
    question_id INT NOT NULL references thread_question(question_id), 
    first_name VARCHAR(100) NOT NULL, 
    last_name VARCHAR(100) NOT NULL, 
    answer VARCHAR(100000) NOT NULL, 
    answer_dateTime VARCHAR(100) NOT NULL, 
    PRIMARY KEY(answer_id) 
); 

실제로 답변을 표시 할 수있는 포럼을 만들고 있습니다. 완벽하게 작동합니다. 너는 또한 question_id의 열이 thread_question에 삽입되고 또한 thread_answer으로 볼 수있다. 한 페이지에 몇 명의 사용자가 대답을 게시했는지 내 대답을 표시하고 싶습니다.

그래서 난이 질문에 따라 그렇게 할 수 ->How to show the numbers of answers posted into my forum?

질문 이제

나는이 두 문장 결합하기 위해 노력하고있어 :

첫 번째 문 :

SELECT thread_question.question_id, COALESCE(sub.counts,0) AS NumerOfAnswer 
    FROM thread_question LEFT JOIN (
     SELECT question_id, COUNT(answer_id) AS counts 
     FROM thread_answer 
     GROUP BY question_id 
    ) sub ON thread_question.question_id = sub.question_id ORDER BY NumerOfAnswer asc 

두 번째 문 :

select * from thread_question 

는 사실 내가 thread_question's table에서 user's first and second name, questionquestion's title를 가져 싶다.

나는 UNION and UNION ALLSELECT(SELECT..)(SELECT..)을 사용합니다.
하지만 결과를 표시 할 수 없습니다. 매번 오류가 발생합니다.

제발 도와주세요 !!
분명히 도움을 받으실 수 있습니다 !! 이미 쿼리에 thread_question 테이블을 가지고 있기 때문에

+1

... –

답변

1

, 당신은 나머지 열을 가지고 할 필요는 다음과 같이, thread_question.*을 추가하는 것입니다 문을 실행하는 동안 점점 어떤 오류

SELECT 
    thread_question.* -- <<== Use .* to bring all fields 
, COALESCE(sub.counts,0) AS NumerOfAnswer 
FROM thread_question 
LEFT JOIN (
    SELECT question_id, COUNT(answer_id) AS counts 
    FROM thread_answer 
    GROUP BY question_id 
) sub ON thread_question.question_id = sub.question_id 
ORDER BY NumerOfAnswer asc 
+0

당신은 '좋아'입니다 ...... 아주머니 ... 제발 저에게 말해주십시오. ...이 모든 SQL을 어떻게 알 수 있습니까? ... 나는 그것에 완벽 해지고 싶습니다. Java에서 좋은 .. 제발 말해 –

+1

@snehamathur 불행히도, 거기에 단 하나의 방법 - SQL을 많이 작성하십시오. – dasblinkenlight

관련 문제