我正在尝试查找与父级关联的子记录数。这基于同一个表中的2列(父级的master_ref和子级的ref)。我发现的困难是只计算孩子与父母相同的date_entered。任何帮助将不胜感激。
答案 0 :(得分:2)
欢迎使用StackOverflow。你的问题没有多大帮助。 。 。样本数据和预期结果很有用。您尝试过的示例查询非常棒(显示您的努力)。表格布局很有用。
以下内容适用于您:
select parent.master_ref, COUNT(*)
from nodes parent join
nodes child
on child.ref = parent.master_ref
where parent.date = child.date
group by parent.master_ref;
您需要进行连接才能比较父级和子级之间的值。
答案 1 :(得分:1)
假设您有3个表:
CREATE TABLE Parents (ID INT, date_entered DATE);
CREATE TABLE Children (ID INT, date_entered DATE);
CREATE TABLE Relation (master_ref INT, ref INT);
以下select语句应该为您提供所需内容:
SELECT p.ID, COUNT(*)
FROM Parents p
JOIN Relation r
ON p.ID = r.master_ref
JOIN Children c
ON c.ID = r.ref
WHERE c.date_entered = p.date_entered
GROUP BY p.ID
SQLFiddle与该代码(没有数据):http://sqlfiddle.com/#!4/6e7d3/2/0