3

2つのテーブル(入力とカテゴリ)があります:

CREATE TABLE categories (
    iId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    sName TEXT NOT NULL,
    iParent INTEGER,
    FOREIGN KEY (iParent) REFERENCES categories(iId)
);

CREATE TABLE inputs (
    iId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
    iCategory INTEGER,
    dValue DOUBLE NOT NULL,
    FOREIGN KEY (iCategory) REFERENCES categories(iId)
);

各カテゴリの入力テーブルからsums(dValue列)を取得する必要があります。合計結果がゼロであっても。

可能であれば、各親カテゴリの合計を取得できればより良いでしょう(の場合categories.iId = categories.iParent、子カテゴリの結果を親カテゴリに合計します)

誰か助けてもらえますか?助けてくれてありがとう!ありがとう!

4

1 に答える 1

3

これを試して:

select c.iParent, sum(i.dValue)
from categories c
left outer join inputs i on i.iCategory=c.iId
group by c.iParent

編集:アカウント付き:

select c.iParent, a.iCurrency, sum(i.dValue)
from categories c
left outer join inputs i on i.iCategory=c.iId
left outer join accounts a on i.iAccount=a.iId
group by c.iParent,a.iCurrency
于 2012-06-04T14:13:18.097 に答える