यदि आपकी प्रत्येक क्वेरी केवल 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
. का उपयोग कर सकते हैं यदि आपके पास "जॉइन ऑन" के रूप में उपयोग करने के लिए एक फ़ील्ड है, तो आप इस फ़ील्ड का उपयोग कर सकते हैं, यदि नहीं तो आप शामिल होने के लिए एक फ़ील्ड जोड़ सकते हैं (लेकिन आपको त्रुटियों से बचने के लिए लौटाए गए डेटा की जांच करने की आवश्यकता है) साथ ही आपको यह भी जांचना होगा कि किस प्रकार का जुड़ाव हो सकता है आपके लिए अच्छा है (इनर - लेफ्ट - रिगथ) उदाहरण में मैं शामिल होने और इनर जॉइन का उपयोग करने के लिए एक फ़ील्ड जोड़ता हूं:
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)