我有兩個表:更新表的第一行中的Postgres
Corresp
有該列:idCorresp, textCorresp ,dateCorresp
Trans
有該列:idTransf , textTransf, dateTransf,idCorresp
這是數據的一個示例:
Corresp:
001, testCorresp, 01/01/2014
跨
1 , T1, 01/01/2013, 001 2 , T2, 01/02/2013, 001 3 , T3, 01/03/2013, 001
我想要的是與Postgres的查詢修改只是表trans
這是關係到表的第一行corresp
這樣做的Corresp
textCorresp
在此列: textTransf
Trans的第一行'
我試着沒有成功:
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
1 , testCorresp, 01/01/2013, 001 2 , T2, 01/02/2013, 001 3 , T3, 01/03/2013, 001
我也嘗試:
update Trans trans3 set textTransf= textCorresp from ( select Corresp .textCorresp , min(trans.dateTransf) from Trans trans , Corresp corresp, Trans trans2 where corresp.idCorresp= trans.idCorresp and corresp.idCorresp= trans2.idCorresp group by corresp.textCorresp ,trans.dateTransf )as toto WHERE trans3.idTransf = toto.idTransf
首先的 - 你怎麼定義表trans'的'只是第一線?這是最簡單的日期?一個具有最小ID的行?還有別的嗎? –