SQL语法(可能与SQL lite相关)
以下是3个表的联接:SQL语法(可能与SQL lite相关),sql,sqlite,join,syntax,Sql,Sqlite,Join,Syntax,以下是3个表的联接: 在设备编号上-始终是一个数字,因此只需在两列上连接 在插槽编号上,第一个案例“Logs.Slot”是编号,第二个案例“slotlist2”是逗号分隔的列表 在Slot上-Def_Instances.Slot类似于Logs.Slot(表示它是一个数字,与Logs.Slot相关联),但其偏移量值为+1 现在,我想在使用SQLLite时正确使用以下语法 select Logs.*, Def_Instances.*, (Def_Instances.slot + Def_Insta
select Logs.*, Def_Instances.*, (Def_Instances.slot + Def_Instances.Offset + 1) as A from Def_Instances
inner join Logs ON Logs.Column1 = Def_Instances.DeviceNumber
and (', ' || RTRIM(Def_Instances.slotlist2) || ',') LIKE '%, '|| Logs.Slot ||',%'
and (', ' || RTRIM(Def_Instances.A) || ',') LIKE '%, '|| Logs.Slot ||',%'
那人告诉我这是个错误
当我到处玩的时候。它要么无法识别S+符号,要么无法识别a列,或者就我记忆所及,我之前又遇到了一个错误
提前感谢您不能从
where
子句中的select
子句重复使用列别名。别忘了,SQL首先删除行(运行where
子句),然后再投影输出(运行select
子句)
您必须将表达式放在where
子句中。可能会做一些类型转换,因为它在某一点上看起来是数字,然后你开始把它当作字符串来处理