1
を記録:カウントネストされたカテゴリ、私は私のデータベースで次のスキーマ持っ
CREATE TABLE categories (
id bigint NOT NULL,
name character varying NOT NULL,
ancestry character varying
);
CREATE TABLE video_chats (
id bigint NOT NULL,
name character varying NOT NULL,
category_id bigint NOT NULL
);
を、私はビデオチャットでいくつかのネストされたカテゴリいる:今、私はビデオをカウントし、SQLクエリを持っている
INSERT INTO categories (id, name, ancestry)
VALUES (1, 'Test category', null);
INSERT INTO categories (id, name, ancestry)
VALUES (2, 'Test category subcategory', '1');
INSERT INTO categories (id, name, ancestry)
VALUES (3, 'Test category subcategory', '1/2');
INSERT INTO video_chats (id, name, category_id)
VALUES (1, 'Test Video 1', '2');
INSERT INTO video_chats (id, name, category_id)
VALUES (2, 'Test Video 2', '3');
をしたいですカテゴリとそのサブカテゴリのチャットそれは次のような結果を返す必要があります:
- テストカテゴリ - 2ビデオ
- テストカテゴリのサブカテゴリをおしゃべり - 1ビデオ
- テストカテゴリのサブカテゴリサブカテゴリチャット - ここで1ビデオチャット
はとsqlfiddleです私のスキーマ:どのように
http://sqlfiddle.com/#!17/f1cee/2
PostgreSQLでこれを行うことはできますか?
私は祖先で '1/2'の値を取得しません - それはどうですか? –
これは私のRuby on Railsアプリケーションのデータベースの例です。私は祖先の宝石を使用しています:https://github.com/stefankroes/ancestry –
オハイオ州 - 私はそのデビジョンを見ません(1/2は半分です) - それは経路なので、次は1/2/7です等々。たぶん、読み込み可能な期待されたクエリの結果を提供することもできますか? –