我有一张桌子"安装"和一张桌子" controle"。对于一个安装,可能有几个控件具有不同的控制日期(字段:controle.des_date_control)。因此,几个控件可能具有相同的installation_id。
════════════╤════════════╤══════════════
id_install │ id_control │ date_control
════════════╪════════════╪══════════════
9001 │ 194 │ 1905-07-03
────────────┼────────────┼──────────────
9001 │ 193 │ 1900-01-01
════════════╧════════════╧══════════════
我想保留id_control = 194
的行现在,我要做的是创建un view,列出每个安装的最新控件:我这样做了,将 max 放在字段前面" des_date_control&#34 ; :
CREATE OR REPLACE VIEW s_anc.v_anc_test AS
SELECT installation.id_installation,
controle.id_controle,
controle.des_date_installation,
max(controle.des_date_control),
controle.des_interval_control,
controle.cl_date_prochain_control,
controle.cl_classe_cbf
FROM
s_anc.installation,
s_anc.controle
WHERE upper(installation.archivage::text) = 'FALSE'::text
AND controle.cl_classe_cbf = 'Absence de défaut'::text
AND (controle.des_date_installation < '2014-01-01'::date OR controle.des_date_installation IS NULL)
AND installation.id_installation = controle.id_installation
GROUP BY installation.id_installation,
controle.id_controle,
controle.des_date_installation,
controle.des_interval_control,
controle.cl_date_prochain_control,
controle.cl_classe_cbf;
但视图最终会列出所有控件,而不仅仅是最新的控件......
你能帮帮我吗?非常感谢!