PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

SQL:podzapytanie ma za dużo kolumn

Wyświetlasz trzy kolumny w podzapytaniu, ale porównując jedną jeden z nich w IN klauzula. Wybierz tylko wymaganą kolumnę (r1.king ) dla IN w podzapytaniu:

SELECT kingdom.king, dinasty.birth, dinasty.death
FROM kingdom, dinasty
WHERE kingdom.king = dinasty.name AND kingdom.king NOT IN
(
    SELECT DISTINCT R1.king
    FROM
    (
        SELECT DISTINCT R1.king, D1.birth, D1.death
        FROM kingdom AS R1, dinasty AS D1, dinasty AS D2
        WHERE R1.king=D1.name
    ) AS R1, 
    (
        SELECT DISTINCT R1.king, D1.birth, D1.death
        FROM kingdom AS R1, dinasty AS D1, dinasty AS D2
        WHERE R1.king=D1.name
    ) AS R2
    WHERE R1.death-R1.birth < R2.death-R2.birth
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odwołanie do wiersza z innej tabeli (PostgreSQL)

  2. Kursory z postgresem, gdzie przechowywane są dane i ile wywołań do DB

  3. postgreSQL - in vs any

  4. Nazwa tabel i właściwości bez uwzględniania wielkości liter w Entity Framework 7

  5. Niestandardowa funkcja agregująca