下面这个视图userpruview 可以查出多条记录:select areaid,devtypeid,id from userpruview where userid=73 and devtypeid=32 group by areaid,devtypeid,id下面是根据上面查找的结果中的单条记录中的id查alarmconfig,devreg,alarmdevship 表的有效字段
select disubtype,mapx,mapy,name,regdate,alarmid,devid,alarmtypeid from  alarmconfig,devreg,alarmdevship 
where alarmconfig.id=%d and alarmconfig.id=devreg.id and alarmid=%d",tmp_alarmid,tmp_alarmid
     其中tmp_alarmid就是根据视图中查找出来的id。问题:能不能把上述视图查询跟下面SQL语句整和成一条SQL语句执行结果跟第一个视图一样,但列数增多了,增多就是下面那个SQL语句查询的有关字段。

解决方案 »

  1.   


    select disubtype,mapx,mapy,name,regdate,alarmid,devid,alarmtypeid from  alarmconfig,devreg,alarmdevship 
    where alarmconfig.id in(select id from userpruview where userid=73 and devtypeid=32 group by areaid,devtypeid,id 
    ) and alarmconfig.id=devreg.id and alarmid in(select id from userpruview where userid=73 and devtypeid=32 group by areaid,devtypeid,id 
    )"
      

  2.   

    你areaid,devtypeid没用到啊?干吗还查询出来select disubtype,mapx,mapy,name,regdate,alarmid,devid,alarmtypeid from  alarmconfig,devreg,alarmdevship 
    where alarmconfig.id in(select id from userpruview where userid=73 and devtypeid=32  
    ) and alarmconfig.id=devreg.id and alarmid in(select id from userpruview where userid=73 and devtypeid=32)"