Als elk van uw zoekopdrachten slechts 1 rij retourneert, kunt u het volgende gebruiken:
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
Als uw zoekopdrachten meer dan 1 rij opleveren, moet u een andere oplossing kiezen:
U kunt UNION
. gebruiken :(De twee zoekopdrachten zijn verkeerd uitgelijnd met "NULL" in de andere kolom)
(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)
)
U kunt JOIN
. gebruiken Als je een veld hebt om te gebruiken als "Join On" kun je dit veld gebruiken, zo niet, dan kun je een veld toevoegen om mee te doen (maar je moet de geretourneerde gegevens controleren om fouten te voorkomen) Ook moet je controleren wat voor soort join kan zijn goed voor je (Inner - Left - rigth)In het voorbeeld voeg ik een veld toe om mee te doen en gebruik ik een 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)