Можно ли создать сгенерированный столбец на основе другой таблицы?

Мне было интересно, можно ли создать сгенерированный столбец, используя группу по запросу. Например, на приведенной ниже диаграмме возможно ли сгенерировать количество оборудования на основе количества актива, соответствующего его внешнему ключу?

Вероятно, нет (по крайней мере, ни в одной базе данных, с которой я знаком), но вы можете достаточно легко написать запрос для этого.

Tim Biegeleisen 12.12.2020 07:03

Не как материализованный столбец в таблице. Но вы можете создать представление из запроса, который извлекает столбец таблицы плюс вычисляемый столбец.

sticky bit 12.12.2020 07:28
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
2
247
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете сделать это с вычисляемым столбцом. Если вы хотите хранить и поддерживать такую ​​информацию, вам потребуется код триггера для каждой операции DML в таблице asset, что усложняет задачу.

С другой стороны, вы можете создать представление:

create view v_equipment
select e.*, 
    (select count(*) from asset a where a.equipment_id = e.equipment_id) as quantity
from equipment e

Это дает вам всегда актуальный взгляд на ваши данные. Вы можете запрашивать представление напрямую вместо таблицы, когда вам нужна информация quantity.

Другие вопросы по теме