-2

親に関連付けられている子レコードの数を見つけようとしています。これは、同じテーブルの 2 つの列 (親の master_ref と子の ref) に基づいています。私が見つけている難しさは、子が親と同じdate_enteredを持っている場合にのみ子を数えることです。どんな助けでも大歓迎です。

4

2 に答える 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 に答える