try this.declare @Rationale table( RationaleID int identity(1,1) NOT NULL, RationaleName varchar(10) NOT NULL, StartDate datetime NOT NULL, EndDate datetime NULL)insert into @Rationale(RationaleName, StartDate, EndDate)select 'Name 1', '2006-06-01', '2006-06-05' union allselect 'Name 2', '2006-06-03', '2006-06-10' union allselect 'Name 3', '2006-06-04', NULL union allselect 'Name 4', '2006-05-01', '2006-05-20' union allselect 'Name 5', '2006-05-21', '2006-06-02'select distinct s.*from @Rationale s inner join @Rationale e on s.RationaleID <> e.RationaleID and ( s.StartDate between e.StartDate and isnull(e.EndDate, '99991231') or isnull(s.EndDate, '99991231') between e.StartDate and isnull(e.EndDate, '99991231') )order by s.RationaleID/* RESULTRationaleID RationaleName StartDate EndDate ----------- ------------- ----------- -----------1 Name 1 2006-06-01 2006-06-05 2 Name 2 2006-06-03 2006-06-10 3 Name 3 2006-06-04 NULL5 Name 5 2006-05-21 2006-06-02 */
KH