0
如果我有一個產品表和製造商的另一張表,並且我希望該表有一個產品計數,有沒有辦法在postgres中說「這個列等於滿足這個條件的其他表中的行「?設置Postgres列等於查詢結果
編輯:我的意思是說,列值將自動計算。因此,如果我有一個包含紅色產品數量列的表格,我希望此列始終等於執行select * from products where color='red';
而產生的行數,而無需自己始終執行該查詢。
如果我有一個產品表和製造商的另一張表,並且我希望該表有一個產品計數,有沒有辦法在postgres中說「這個列等於滿足這個條件的其他表中的行「?設置Postgres列等於查詢結果
編輯:我的意思是說,列值將自動計算。因此,如果我有一個包含紅色產品數量列的表格,我希望此列始終等於執行select * from products where color='red';
而產生的行數,而無需自己始終執行該查詢。
您不應將計算值存儲在可運行的數據庫中。如果是數據倉庫,請繼續。
您可以使用視圖爲您進行計算。
http://sqlfiddle.com/#!15/0b744/1
可以使用materialized view以提高性能,並與觸發刷新的products
表。
搜索'group by'和'sum()' –
您必須編寫一個觸發器來對一個表中符合特定條件的行進行計數,然後在另一個表中對其進行計數。 – zedfoxus