我有以下两个表格:
我需要从以下条件获取数据表中的所有行: - 我不希望行中一个id的所有值都是0 - 我希望代替ip地址从主机表中检索到的相应主机名
我尝试了以下查询:
select time, hostname , id , value from data , hosts where hosts.ip_address = data.host group by time,id having avg(value) <> 0;
但这不是我想要的。 预期的结果是: enter image description here
答案 0 :(得分:2)
你试过这个吗?
select d.time, h.hostname , d.id , d.value from data d join hosts h where
h.ip_address = d.host group by d.time,d.id having avg(value) <> 0;
答案 1 :(得分:1)
我希望这能帮到你,我用你的原始数据进行测试
select [time]
,hostname
,id
,value
from @data as d
left join @host h on d.host=h.ip_address
where id not in (select id from @data where value=0 group by id having
count(value)>1)