比较同一列中的值以及sql server中的其他列值

时间:2015-08-21 05:15:50

标签: sql sql-server-2008

我的表格中有3列IDserial_nopriority_no

可能如下所示

--------------------
ID |  Ser_No | pri_NO
--------------------
1  |  123    | 215
1  |  123    | 280
2  |  215    | 215
3  |  123    | 360
4  |  111    | 111
-------------------

看表

我们对ID 1和3有ser_no,我们对ID 1和2有相同的pri_no

对于ID = 1,我们将Pri_No设为215,ID为2的Ser_No为215

反之亦然,一条记录的ser_no将在另一条记录的Pri_No

以上条件,我们将其称为Family

现在我需要的输出是(不是家庭记录)

--------
  ID
--------
   4
--------

1 个答案:

答案 0 :(得分:1)

    select id from table a 
    where not exists 
(select * from table where (a.Ser_No = Ser_No or a.pri_NO = pri_NO) and id!=a.id)

SQL Fiddle check