Ако всяка от вашите заявки върне само 1 ред, можете да използвате:
SELECT
(select Start_Date
from table1 where Start_Date not in (
select End_Date
from table1)
) AS StartDate,
(select End_Date from table1
where End_Date not in (
select Start_Date
from table1)
) AS EndDate
Ако вашите заявки връщат повече от 1 ред, трябва да изберете различно решение:
Можете да използвате UNION
:(Ще имате двете заявки неподравнени с "NULL" в другата колона)
(select Start_Date, Null AS EndDate
from table1 where Start_Date not in (
select End_Date
from table1)
)
UNION
(select Null As StartDate, End_Date
from table1
where End_Date not in (
select Start_Date
from table1)
)
Можете да използвате JOIN
Ако имате поле, което да използвате като „Присъединете се“, можете да използвате това поле, ако не, можете да добавите поле за присъединяване (но трябва да проверите върнатите данни, за да избегнете грешки) Също така трябва да проверите какъв вид присъединяване може да бъде добре за вас (Inner - Left - right) В примера добавям поле за присъединяване и използвам Inner Join:
SELECT Start_Date, End_Date
FROM
(select 1 as InnerId, Start_Date
from table1 where Start_Date not in (
select End_Date
from table1)
) As Tab1
INNER JOIN
(select 1 as InnerId, End_Date from table1
where End_Date not in (
select Start_Date
from table1)
) AS Tab2
USING(InnerId)