0

我查了我能查到的,但找不到同样的问题。

我正在使用以下 SQL 来尝试生成我正在寻找的结果。我正在尝试完成一个连接或其他功能,该功能将允许我从左侧计算或选择右侧具有匹配行的行。如果右侧有匹配的列,我只希望它被计算一次。我正在查看是否至少有一个匹配项(即使它们更多,也将其计为 1 个)以进行计数。

这就是我想要做的。

左侧年度捕获 (ID)

1 一些数据

2 一些数据

3 一些数据

右侧(年度评论)

2 对年度捕获 id 2 的评论

2 年度捕获 id 2 的另一条评论

结果:从选择中它只会返回 2 的 Annual_Capture (ID)。从计数中,它只会返回有关 Annual_Capture (ID 2) 的记录

就我而言,我一直数到 2 而不是 1。

这是我正在使用的 SQL:

计数

 SELECT COUNT(*) FROM Annual_Capture
 JOIN Annual_Comments
 ON Annual_Capture.id = Annual_Comments.Record_id 
 where Main_AbstractNumber = 133 and Year = 2012 ;

选择

 SELECT * FROM Annual_Capture INNER JOIN Annual_Comments
 ON Annual_Capture.id = Annual_Comments.Record_id WHERE Main_AbstractNumber = 133
 AND Year = 2012

任何帮助,将不胜感激!

4

2 回答 2

1
select
    count(distinct Annual_Capture.id) 
from
    Annual_Capture

    inner join Annual_Comments
        on Annual_Capture.id = Annual_Comments.Record_id 
where 
           Main_AbstractNumber = 133 
    and    Year                = 2012
;
于 2013-11-01T03:36:37.400 回答
0

这仅返回来自 Annual_Capture 的行,其中至少有一条评论(这就是我阅读您的 rqmts 的方式):

SELECT Annual_Capture.id, count(Annual_Comments.*)
FROM Annual_Capture JOIN Annual_Comments ON Annual_Capture.id = Annual_Comments.Record_id 
WHERE Main_AbstractNumber = 133 and Year = 2012
GROUP BY Annual_Capture.id
HAVING Count(Annual_Comments.*) >= 1;
于 2013-11-01T03:48:21.157 回答