Apache Derby SQL - select 两个表之间的相关行数
Apache Derby SQL - select number of related rows between two tables
我正在使用 Apache Derby 开源数据库,
我有两个 tables :
问题:
Q_id - 自动递增整数
Qtext - varchar(300)
答案:
A_id - 自动递增整数
文本 - varchar(300)
Q_id - FOREIGN KEY 整数不为空
对于每个问题,都有不止一个答案,并且可能是一个问题没有答案,所以我想做的是编写一个 (Apache derby sql) 语句,它执行以下操作:
对于问题table中的每个问题,我想计算它在答案TABLE中有多少答案,最重要 用于没有答案的问题,我希望结果结果为 0。
示例:
SEE EXAMPLE IN THIS PICTURE
谢谢。
select Questions.QText
, count(Answers.AText)
from Questions
left outer join Answers on Answers.Q_Id = Questions.Q_Id
group by Questions.QText
更新:
您可以在问题文本上使用 MAX,这样您就不必按 q_text
进行分组
select Questions.Q_id
, max(Questions.qtext)
, COUNT(Answers.q_id)
from Questions
left join Answers on Answers.Q_id = Questions.Q_id
group by Questions.Q_id
我正在使用 Apache Derby 开源数据库, 我有两个 tables :
问题:
Q_id - 自动递增整数
Qtext - varchar(300)
答案:
A_id - 自动递增整数
文本 - varchar(300)
Q_id - FOREIGN KEY 整数不为空
对于每个问题,都有不止一个答案,并且可能是一个问题没有答案,所以我想做的是编写一个 (Apache derby sql) 语句,它执行以下操作:
对于问题table中的每个问题,我想计算它在答案TABLE中有多少答案,最重要 用于没有答案的问题,我希望结果结果为 0。
示例:
SEE EXAMPLE IN THIS PICTURE
谢谢。
select Questions.QText
, count(Answers.AText)
from Questions
left outer join Answers on Answers.Q_Id = Questions.Q_Id
group by Questions.QText
更新:
您可以在问题文本上使用 MAX,这样您就不必按 q_text
进行分组select Questions.Q_id
, max(Questions.qtext)
, COUNT(Answers.q_id)
from Questions
left join Answers on Answers.Q_id = Questions.Q_id
group by Questions.Q_id