【问题标题】:Combine two select statement in MySql?在MySql中结合两个select语句?
【发布时间】:2015-03-07 08:49:00
【问题描述】:

我有这张桌子,看看那里。

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 namequestionquestion's title

我确实使用UNION and UNION ALLSELECT( SELECT..)(SELECT..)
但我无法显示结果。每次都给我一个错误。

请帮忙!!
当然,我们将不胜感激!

【问题讨论】:

  • 运行语句时遇到什么错误...

标签: java mysql sql database jsp


【解决方案1】:

由于您已经在查询中有thread_question 表,因此您只需添加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

【讨论】:

  • 你是GOOD ......AWESOME ANSwER man......你能告诉我......你怎么知道所有这些SQL??......我想成为完美..我擅长JAVA..请告诉我
  • @snehamathur 不幸的是,只有一种方法 - 编写大量 SQL。
猜你喜欢
  • 2015-08-30
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-19
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
相关资源
最近更新 更多