gpt4 book ai didi

sql - Postgresql,sql命令,用相似的字符串连接表,只有字符串 "OM:"在开始

转载 作者:行者123 更新时间:2023-11-29 14:13:46 25 4
gpt4 key购买 nike

我想加入表格。

left join
c_store on o_order.customer_note = c_store.store_code

字段中的字符串几乎相同,只是在字段开头包含“OM:”,例如,来自 o_order.customer_note 的字段是

OM:4008

来自c_store.store_code的是

4008

是否可以基于从 o_order.customer_note 中的每个字段删除(或替换)来连接表 c_store.store_code?

我试过了

c_store on replace(o_order.customer_note, '', 'OM:') = c_store.store_code

但没有成功。我想,这只是为了重命名列名,对吧?很抱歉这个问题,我是新手。

谢谢。

最佳答案

在连接条件中使用字符串连接:

SELECT ...
FROM o_order o
LEFT JOIN c_store c
ON o.customer_note = 'OM:' || c.store_code::text;

但这并不是说虽然上述逻辑可能会在短期内解决您的查询问题,但从长远来看,更好的解决办法是在您的数据库中设置适当的连接列。也就是说,希望能够仅在相等的情况下进行连接。这将使 Postgres 使用索引(如果存在)。

关于sql - Postgresql,sql命令,用相似的字符串连接表,只有字符串 "OM:"在开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com