我正在使用 Python DB API 使用 postgresql。
我使用的子字符串表达式在单独使用时可以正常工作,但是当我将它放在连接命令的上下文中时,会出现语法错误,并且在任何教程或其他问题中都找不到解决方案。
我使用的表达是
select substring(path, 10, 28) 'my_substr' from log limit 3")
它给出了结果
[('',), ('candidate-is-jerk',), ('goats-eat-googles',)]
这就是我想要的。(它在此路径中修剪 /articles/。)
我要放置它的上下文是一个连接表达式,如下所示:
select articles.author, articles.slug
from articles
join log on articles.slug = substring(path, 10, 28) 'my_substr'
from log
如果我不需要子字符串,则表达式为
join log on articles.slug = log.path,
但事实上,'path' 不会匹配 'slug',但它会匹配子字符串。
我试过使用括号,在“my_substr”之前使用“as”,但都给出了相同的语法错误。
如何使用正确的语法创建此表达式?