【发布时间】:2014-02-08 02:38:35
【问题描述】:
我有两张桌子:
Corresp 有此列:idCorresp, textCorresp ,dateCorrespTrans 有此列:idTransf , textTransf, dateTransf,idCorresp
这是一个数据示例:
对应:
001,testCorresp,2014 年 1 月 1 日翻译
1 , T1, 01/01/2013, 001 2, T2, 01/02/2013, 001 3 , T3, 01/03/2013, 001我想用 postgres 开发一个查询,只修改与表 corresp 相关的表 trans 的第一行
所以在此列中制作Corresp 的textCorresp :Trans` 的第一行的textTransf
我尝试但没有成功:
update Trans trans
set textTransf= (
select corresp.textCorresp
from Corresp corresp , Trans trans
where corresp.idCorresp= trans.idCorresp
)
from Corresp corresp , Trans trans
where corresp.idCorresp= trans.idCorresp
and trans.dateTransf=(select min(trans.dateTransf)
from Corresp corresp , Trans trans
where corresp.idCorresp= trans.idCorresp)
因此,在运行我的查询后,我希望在 Trans 中得到这个结果
我也试试:
更新 Trans trans3 设置 textTransf= 文本对应 从 ( 选择 Corresp .textCorresp , min(trans.dateTransf) 来自 Trans trans , Corresp corresp, Trans trans2 其中 corresp.idCorresp=trans.idCorresp 和 corresp.idCorresp=trans2.idCorresp 通过...分组 corresp.textCorresp ,trans.dateTransf ) 和 toto 在哪里 trans3.idTransf = toto.idTransf【问题讨论】:
-
首先——你如何定义
just the first line of the table trans?是日期最少的那条线吗?具有最小 id 的行?还有什么?
标签: sql postgresql