我有两个表question
和field
。我需要对条目进行计数,它们的巧合值为template_id
(两个表都包含)。
请咨询,怎么做?
答案 0 :(得分:1)
select count(q.*)
from question q
left join field f on f.template.id = q.template_id
在StackOverflow中,应该显示自己的尝试,表明已经做了一些努力。
inner join
上方可能是您的意思。首先尝试select q.*, f.*
。
答案 1 :(得分:0)
SELECT
COUNT(*) AS TotalRecords
FROM question q
INNER JOIN field f ON f.template_id = q.template_id
答案 2 :(得分:0)
如果要在两个表中计数 distinct template_id
,请使用JOIN
和COUNT(DISTINCT)
:
select count(distinct q.template_id)
from question q join
field f
on f.template_id = q.template_id;
如果使用count(*)
,您将获得匹配的行而不是template_id
的计数,因此重复将影响结果。
如果已知template_id
在其中一个表中是唯一的(例如question
),则exists
可能更有效:
select count(*)
from question q
where exists (select 1
from field f
where f.template_id = q.template_id
);