2015-11-09 3 views
0

Если бы у меня была таблица продуктов и другая таблица производителей, и я хотел, чтобы в этой таблице было количество товаров, есть ли способ в postgres сказать «этот столбец равен числу строки в этой другой таблице, соответствующие этому условию "?Установите столбец Postgres равным запросу

EDIT: Я хочу сказать, что значение столбца будет автоматически рассчитано. Поэтому, если у меня есть таблица с столбцом для количества красных продуктов, я хочу, чтобы этот столбец был последовательно равен числу строк, которые были результатом выполнения select * from products where color='red';, без необходимости выполнять этот запрос самостоятельно.

+1

поиск 'group by' a' sum() ' –

+1

Вам нужно будет написать триггер, чтобы подсчитывать строки, соответствующие определенным критериям, из одной таблицы и делать это в другой таблице. – zedfoxus

ответ

1

Вы не должны хранить расчетные значения в операционной базе данных. Если это хранилище данных, продолжайте.

Вы можете использовать представление для расчета для вас.

http://sqlfiddle.com/#!15/0b744/1

Вы можете использовать materialized view для повышения производительности, и обновить его с триггером на products столе.

Смежные вопросы