親に関連付けられている子レコードの数を見つけようとしています。これは、同じテーブルの 2 つの列 (親の master_ref と子の ref) に基づいています。私が見つけている難しさは、子が親と同じdate_enteredを持っている場合にのみ子を数えることです。どんな助けでも大歓迎です。
質問する
2823 次
2 に答える
2
次のようなものがうまくいくはずです:
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;
親と子の間で値を比較するには、結合を行う必要があります。
于 2013-05-24T13:33:17.577 に答える
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
于 2013-05-24T14:03:33.600 に答える