Sql 同一个表中2个值(datetime和id)的内部联接
我有两张桌子:Sql 同一个表中2个值(datetime和id)的内部联接,sql,sqlite,inner-join,redash,Sql,Sqlite,Inner Join,Redash,我有两张桌子: 设备颜色 设备警报 例如,这两个表都有特定于设备id和日期时间的数据 设备颜色: device_id, datetime, color 设备警报: device_id, datetime, alert 现在,每个设备每天可以有多个记录。因此,每天一台设备可以有多个警报和多种颜色。而且有多种设备 我想用一个查询合并这两个表。但当我这样做的时候,我会走到很多行。我不知道我做错了什么。这是我的查询(它是SQLLite,因为它是在redash中) 如果没有示例数据,就很难准确地知道您
device_id, datetime, color
设备警报:
device_id, datetime, alert
现在,每个设备每天可以有多个记录。因此,每天一台设备可以有多个警报和多种颜色。而且有多种设备
我想用一个查询合并这两个表。但当我这样做的时候,我会走到很多行。我不知道我做错了什么。这是我的查询(它是SQLLite,因为它是在redash中)
如果没有示例数据,就很难准确地知道您想要什么 这个版本连接到query_505241一次,使用两个字段作为连接条件,我想这就是您想要的
select a.alarm_type, a.created_at, a.monitor_id, dc.datetime, dc.device_id, dc.color
from query_505127 as a
inner join query_505241 as dc on a.monitor_id = dc.device_id
AND dc.datetime = a.created_at_date
此版本与查询相同,但第二个联接基于dc1.datetime而不是dc.datetime
select a.alarm_type, a.created_at, a.monitor_id, dc.datetime, dc.device_id, dc.color
from query_505127 as a
inner join query_505241 as dc on a.monitor_id = dc.device_id
inner join query_505241 as dc1 on dc1.datetime = a.created_at_date
这两种产品中的任何一种都能满足您的期望吗
select a.alarm_type, a.created_at, a.monitor_id, dc.datetime, dc.device_id, dc.color
from query_505127 as a
inner join query_505241 as dc on a.monitor_id = dc.device_id
inner join query_505241 as dc1 on dc1.datetime = a.created_at_date