我使用下面的查询连接两个表:
update campaign_items
set last_modified = evt.event_time
from (
select max(event_time) event_time
,result
from events
where request = '/campaignitem/add'
group by result
) evt
where evt.result = campaign_items.id
Run Code Online (Sandbox Code Playgroud)
其中结果列是字符变化类型,id是整数类型但结果列中的数据包含数字(即12345)
我将如何运行此查询并将结果类型(字符)转换为 id(整数)
那么你不需要这样做,因为 postgresql 在这种情况下会进行隐式类型转换。例如,您可以尝试
select ' 12 ' = 12
Run Code Online (Sandbox Code Playgroud)
您将看到,即使字符串版本中有额外的空格,它也会返回 true。尽管如此,如果您需要显式转换。
where evt.result::int = campaign_items.id
Run Code Online (Sandbox Code Playgroud)
根据您的评论,您有诸如 convRepeatDelay 之类的值,这些值显然无法转换为 int。然后你应该做的就是将你的 int 转换为 char!
where evt.result = campaign_items.id::char
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5532 次 |
| 最近记录: |