SQL选择两个不同列的所有列

时间:2018-02-18 13:41:16

标签: sql select

问题可能不是新的,但我需要你的帮助。我有sql db表,我想为具有两列不同值的行选择所有列 例如,我有一个名为'information'的表格,如下所示。 我想要的是选择具有不同值'ctc_card_no''tarehe'的所有行。任何人都可以帮助我,因为我努力获得结果

enter image description here

我需要结果

enter image description here

2 个答案:

答案 0 :(得分:0)

我认为你想使用not exists

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.ctc_card_no = t.ctc_card_no and t2.tarehe = t.tarehe and
                        t2.id <> t.id
                 );

这将返回在表格中只出现一次的所有,这就是我解释您的问题的方式。

编辑:

如果您只想要不同的对,可以使用group by

select min(id), ctc_card_no, tarehe
from t
group by ctc_card_no, tarehe;

答案 1 :(得分:0)

也许是这样的?

select *
from information
where (ctc_card_no, tarehe) in 
  (select ctc_card_no, tarehe
   from information
   group by ctc_card_no, tarehe
   having count(*) = 1
  );