sql >> Database >  >> RDS >> Mysql

combineer twee select-instructie in twee kolommen?

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)



  1. Openstaande AJAX-verzoeken annuleren in PHP-app?

  2. android.content.res.Resources$NotFoundException:String resource ID #0x2 Database

  3. hoe stuur e-mail door Pl/sql

  4. Tabellen op meerdere servers samenvoegen