我想在sql中比较2行或更多行。
我有一张桌子id
。它有主键列id2
。它还有2列,startdate
和id
。
我想找到startdate
与id2
的{{1}}不同的所有id2
。 id
只是id的扩展。
例如:如果123
为id2
,则123-1
为{{1}}。
更新:根据OP的评论示例
如果表有
id id2 startdate 123-1 123 0408 123 0408 124 0508 124-1 124 0608
查询应显示
id id2 startdate 124 0508 124-1 124 0608
其中startdate不同。
答案 0 :(得分:0)
您正在查找存在其他记录的记录,其中包含不同的startdate:
select *
from mytable
where exists
(
select *
from mytable other
where (other.id = mytable.id2 or other.id2 = mytable.id)
and other.startdate <> mytable.startdate
);