CM_INFO 表  列名 MAC_ADDR   TIME   DOWN_CM_SNR
GUEST表  列名 MAC_ADDR   GUEST_NAME
NETWORK_INFO 表  列名 MAC_ADDR IP_ADDR这三个表联合查询出 MAC_ADDR,GUEST_NAME,IP_ADDR,DOWN_CM_SNRMAC_ADDR共十几个 但是我查出来后总共显示200多条数据 是怎么回事啊select c.DOWN_CM_SNR,sss.GUEST_NAME,sss.IP_ADDR,sss.MAC_ADDR from CM_INFO c,
((select g.GUEST_NAME,ss.IP_ADDR,ss.MAC_ADDR from GUEST g,(select n.IP_ADDR,n.MAC_ADDR from NETWORK_INFO n)ss 
where g.MAC_ADDR=ss.MAC_ADDR))sss order by sss.GUEST_NAME这是我写的SQL语句  请大神们帮忙看看是怎么回事分不够了!!!

解决方案 »

  1.   

    SELECT a.MAC_ADDR,b.GUEST_NAME,c.IP_ADDR,a.DOWN_CM_SNR
    FROM CM_INFO a,GUEST b,NETWORK_INFO c
    WHERE a.MAC_ADDR=b.MAC_ADDR AND b.MAC_ADDR=c.MAC_ADDR
      

  2.   

    select a.MAC_ADDR,b.GUEST_NAME,c.IP_ADDR,a.DOWN_CM_SNR
    from CM_INFO a, GUEST b, NETWORK_INFO c where a. MAC_ADDR= b. MAC_ADDR and b. MAC_ADDR= c. MAC_ADDR 
      

  3.   


    select c.DOWN_CM_SNR, sss.GUEST_NAME, sss.IP_ADDR, sss.MAC_ADDR
      from CM_INFO c,
           ((select g.GUEST_NAME, ss.IP_ADDR, ss.MAC_ADDR
               from GUEST g,
                    (select n.IP_ADDR, n.MAC_ADDR from NETWORK_INFO n) ss
              where g.MAC_ADDR = ss.MAC_ADDR)) sss
     where sss.MAC_ADDR=c.MAC_ADDR  ---------把这个加上
     order by sss.GUEST_NAME
     
    ------要不直接用这个就行了。select a.MAC_ADDR,b.GUEST_NAME,c.IP_ADDR,a.DOWN_CM_SNR
    from CM_INFO a, GUEST b, NETWORK_INFO c where a. MAC_ADDR= b. MAC_ADDR and b. MAC_ADDR= c. MAC_ADDR