2013-08-26 14 views
1

我想使用事務表中的時間戳與用戶表中的時間戳之間的差異來填充我的事務表上的列。我們的想法是標準化的日期在用戶體驗的交易發生點什麼來反映(即多少天之後用戶加入了交易處理),因爲這樣的:我可以添加一個具有從連接表中計算出的值的列嗎?

update transactions 
set days = ceil(extract(days from T.tdate - U.created_at)) +1 
from transactions T join users U on T.user_id=U.id 

出於某種原因,所有的在運行查詢之後,行在「days」字段中獲得相同的編號(262)。

+1

您應該添加'where'子句來限制要影響的行。 – ntalbs

+0

@ntalbs我試過,但我想影響所有行,使用與連接條件相同的條件。 – avyfain

+0

@ntalbs哈哈!接得好! – logixologist

回答

3
update transactions 
set days = ceil(extract(days from tdate - U.created_at)) +1 
from users U 
where user_id = U.id 
相關問題