PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQL - Buat tampilan dari beberapa tabel

Persatuan bukanlah yang Anda inginkan. Anda ingin menggunakan gabungan untuk membuat baris tunggal. Agak tidak jelas apa yang merupakan baris unik di tabel Anda dan bagaimana mereka benar-benar berhubungan satu sama lain dan juga tidak jelas apakah satu tabel akan memiliki baris untuk setiap negara di setiap tahun. Tapi saya pikir ini akan berhasil:

CREATE VIEW V AS (

  SELECT i.country,i.year,p.pop,f.food,i.income FROM
    INCOME i
  LEFT JOIN 
    POP p 
  ON
    i.country=p.country
  LEFT JOIN
    Food f
  ON 
    i.country=f.country
  WHERE 
    i.year=p.year
  AND
    i.year=f.year
);

Gabung kiri (luar) akan mengembalikan baris dari tabel pertama meskipun tidak ada kecocokan di tabel kedua. Saya telah menulis ini dengan asumsi Anda akan memiliki baris untuk setiap negara untuk setiap tahun dalam tabel pendapatan. Jika Anda tidak merasa sedikit berbulu karena MySQL tidak memiliki dukungan bawaan untuk FULL OUTER JOIN, terakhir saya periksa. Ada cara untuk mensimulasikannya, dan itu akan melibatkan serikat pekerja. Artikel ini membahas beberapa topik secara mendalam:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SUM() Fungsi di PostgreSQL

  2. psql:tidak dapat terhubung ke server:Koneksi ditolak Kesalahan saat menghubungkan ke basis data jarak jauh

  3. Penggunaan hibernasi urutan PostgreSQL tidak memengaruhi tabel urutan

  4. Tentukan nama tabel dan kolom sebagai argumen dalam fungsi plpgsql?

  5. Tetapkan Jalur Skema Postgresql Secara Permanen