[英]inner join on 2 values (datetime and id) same table
我有2張桌子:
兩個表都有特定於 device_id 和 datetime 的數據,例如設備顏色:
device_id, datetime, color
設備警報:
device_id, datetime, alert
現在每個設備每天可以有多個記錄。 因此,每天 1 台設備可以有多個警報和多種顏色。 並且有多個設備。
我想用查詢合並這兩個表。 但是當我這樣做時,我得到了很多行。 我不知道我做錯了什么。 這是我的查詢(它是 sql lite 因為它在 redash 中)
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 dc.datetime = a.created_at_date
沒有示例數據,很難確切地知道您想要什么..
此版本加入 query_505241 一次,使用兩個字段作為 JOIN 標准,我認為這就是您所追求的。
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
此版本與您的查詢相同,但第二個 JOIN 基於 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
這些中的任何一個都會返回您所期望的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.