表中有三项,设备device,端口port,端口状态status,一个device有多个端口,一个端口有多有status,现在我需要把端口状态全不等于1的对应的device、port得到,怎么写sql语句。

解决方案 »

  1.   

    SELECT DEVICE,PORT 
    FROM [TABLENAME]
    WHERE 
    DEVICE NOT IN
    (
    SELECT DEVICE FROM [TABLENAME] WHERE STATUS=1
    )
      

  2.   

    假设table_device(device,port)
        table_port(port,state)
    select a.device,b.port from table_device a
    right join (select port from table_port where state<>'1' ) b
    on a.port=b.port
    这样可以了吧?
      

  3.   

    SELECT distinct DEVICE,PORT 
    FROM [TABLENAME]
    WHERE isnull(STATUS,'')<>'1'