Pokud každý z vašich dotazů vrátí pouze 1 řádek, můžete použít:
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
Pokud vaše dotazy vracejí více než 1 řádek, musíte zvolit jiné řešení:
Můžete použít UNION
(V druhém sloupci budou dva dotazy nesprávně zarovnány s "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)
)
Můžete použít JOIN
Pokud máte pole, které chcete použít jako „Připojit se“, můžete použít toto pole, pokud ne, můžete přidat pole pro připojení (ale musíte zkontrolovat vrácená data, abyste předešli chybám) Také musíte zkontrolovat, jaký druh spojení může být dobré pro vás (Vnitřní - Vlevo - Vpravo) V příkladu přidám pole ke spojení a použiji Vnitřní spojení:
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)