SQL语句,请各位帮我看一下下面的数据库有没有语法错误。

select t.real_ammeter, t.eng_region_id,a.region_name, b.device_name,t.occur_time,b.eng_device_id,b.eng_type_id
from ammeter t
inner join eng_region a on a.eng_region_id =t.eng_region_id
inner join eng_device b on b.eng_region_id =t.eng_region_id and b.eng_type_id =109
and to_char (t.occur_time,'yyyy-mm-dd')='2011-06-02'
order by t.real_ammeter desc;

图片中查出的real_ammeter值都是一样的,但是实际上不是相同的,请问以上查询语句的语法错了么?

select t.real_ammeter, t.eng_region_id,a.region_name, b.device_name,t.occur_time,b.eng_device_id,b.eng_type_id
from ammeter t
inner join eng_region a on a.eng_region_id =t.eng_region_id
inner join eng_device b on b.eng_region_id =t.eng_region_id

--这里的查询条件应该用where
where b.eng_type_id =109
and to_char (t.occur_time,'yyyy-mm-dd')='2011-06-02'
order by t.real_ammeter desc;

也有可能是t里面的一条记录对应多条a或b的记录,所以相同的t的信息有多条
温馨提示:答案为网友推荐,仅供参考
相似回答