问题描述
就像下面的网页一样,我想在sql lite中进行条件列连接
https://dev.to/gschro/conditional-column-join-in-sql-5g03
但是看来这是不可能的?
这是我的加入:
left join query_506556 as rdi_data on rdi_data.time = y.datetime_weather AND case when a.monitor_id is null then 1 when a.monitor_id = rdi_data.device_id then 1 else 0
我想加入两件事,y表中的datetime(可以)和表中的monitor_id(不一定代表)。而且我想确保当rdi_data中的数据不代表时,它也会被复制
Error running query: near "order": Syntax error
在sql lite中可以进行这种联接吗?
解决方法
这是您想要的吗?
left join query_506556 as rdi_data
on rdi_data.time = y.datetime_weather
and (a.monitor_id is null or a.monitor_id = rdi_data.device_id)
或者,如果您也想匹配null
的值(但看起来并不符合您的要求),那么请使用is
,它是SQLite中的空安全运算符:
left join query_506556 as rdi_data
on rdi_data.time = y.datetime_weather
and a.monitor_id is rdi_data.device_id