按要查询的特定值进行查询

7eumitmz  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(324)

嗨,我想在postgresql中做一个存储过程,我必须填写一个表(vol\u raleos),其他3个表如下:

super
zona | sitio | manejo
1    | 1     | 1
2    | 2     | 2

datos_vol_raleos
zona | sitio | manejo |vol_prodn
1    | 1     | 10     | 0
2    | 2     | 15     | 0

datos_manejos
manejoVR | manejoSuper
10       | 1
15       | 2

要填充的表

vol_raleos
zona | sitio | manejo |vol_prodn
1    | 1     | 1      | 0
2    | 2     | 2      | 0

所以,我要做的是获取 datos_vol_raleos ,验证它是否处于 super ,但首先我必须转换 manejoVR 根据表中的数值 datos_manejos ```
INSERT INTO vol_raleos
(zona, sitio, manejo, edad, densidad, vol_prod1, vol_prod2, ..., vol_prod36)

select zona, sitio, manejo, edad, densidad, vol_prod1, vol_prod2, ..., vol_prod36
from (

select volr.*, sup.zona, sup.sitio, sup.manejo, dm.manejo,
from datos_vol_raleos volr
left join super sup on (sup.zona = volr.zona and sup.sitio = volr.sitio and sup.manejo = volr.manejo) selrs
order by zona, sitio, manejo, edad, densidad

) sel_min_max;

所以在这里我不知道如何得到 `manejoSuper` datosèu manejos的值,稍后比较
brccelvz

brccelvz1#

您可以通过几个连接从select插入。例如:

insert into vol_raleos 
select s.zona, s.sitio, s.manejo, m.manejoSuper
from super s
join datos_vol_raleos d on (d.zona, d.sitio) = (s.zona, s.sitio)
join datos_manejos m on m.manejoVR = d.manejo

相关问题