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/