SQLite-与Substr左连接

SQLite-与Substr左连接,sqlite,left-join,substr,Sqlite,Left Join,Substr,我有一张表票,其中票号在票号前面有一个hastag,例如4567,但在表票中,票号保存时没有这个hastag 4567。 我想左键连接这两个表,并想使用表ticket的汇总值,该表ticket位于ticket编号的右边,而不包含。我尝试了上面的查询,但出现了一个错误。如何将substr=在没有左联接的情况下使用ticketnumber组合起来?还是有其他方法可以做到这一点 谢谢 您应该执行substrticket\u custom.value,2而不是ticket\u custom.substr

我有一张表票,其中票号在票号前面有一个hastag,例如4567,但在表票中,票号保存时没有这个hastag 4567。 我想左键连接这两个表,并想使用表ticket的汇总值,该表ticket位于ticket编号的右边,而不包含。我尝试了上面的查询,但出现了一个错误。如何将substr=在没有左联接的情况下使用ticketnumber组合起来?还是有其他方法可以做到这一点

谢谢

您应该执行substrticket\u custom.value,2而不是ticket\u custom.substrvalue,2,4语法不正确,并且字符串长度不能保证只有5个字符

因此,您的查询应该如下所示:

select distinct substr(value,2,4),summary 
from ticket_custom 
LEFT JOIN ticket On ticket_custom.substr(value,2,4) = ticket.id 
where name = "parent" AND value <> 0

这是函数的正确语法:

如果ticket_custom.value仅包含5个字符。 在这种情况下,只能使用5个字符替换:

或者简单地说:

On replace(ticket_custom.value, '#', '') = ticket.id 

你应该做substrticket\u custom.value,2,4而不是ticket\u custom.substrvalue,2,4汉克斯,就是这样!
On substr(ticket_custom.value,2,4) = ticket.id 
On substr(ticket_custom.value,2) = ticket.id 
On replace(ticket_custom.value, '#', '') = ticket.id 
On ticket_custom.value = '#' || ticket.id