Mysql
 sql >> Baza danych >  >> RDS >> Mysql

połączyć dwie instrukcje select w dwóch kolumnach?

Jeśli każde z zapytań zwraca tylko 1 wiersz, możesz użyć:

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

Jeśli Twoje zapytania zwracają więcej niż 1 wiersz, musisz wybrać inne rozwiązanie:

Możesz użyć UNION :(Będziesz miał dwa zapytania źle wyrównane z "NULL" w drugiej kolumnie)

(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)
 ) 

Możesz użyć JOIN Jeśli masz pole do użycia jako „Dołącz”, możesz użyć tego pola, jeśli nie, możesz dodać pole do dołączenia (ale musisz sprawdzić zwracane dane, aby uniknąć błędów) Również musisz sprawdzić, jakiego rodzaju może być dołączenie dobre dla ciebie (Inner - Left - rigth)W tym przykładzie dodaję pole do przyłączenia i używam połączenia wewnętrznego:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Brak instrukcji przygotowanych po stronie serwera przy użyciu MySQL Connector/J

  2. Czy soft_delete Laravela potrzebuje indeksu na MySQL?

  3. Połączyć wiersz z wierszem MAX w innej tabeli?

  4. Używając MySql, czy mogę posortować kolumnę, ale 0 jest ostatnie?

  5. Jak sprawdzić domyślny numer portu dla połączenia mysql? Połączenie nie działa! połączenie jdbc