Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Lajur Kabur' Apabila Menyertai Jadual dengan Struktur Yang Sama?
Menyelesaikan Rujukan Lajur Samar-samar Apabila Menyertai Jadual dengan Struktur Yang Sama
Dalam bidang pengurusan pangkalan data, bukan perkara biasa untuk menghadapi situasi di mana berbilang jadual berkongsi struktur data yang sama tetapi berbeza dalam kandungannya. Apabila bekerja dengan jadual sedemikian dan cuba mendapatkan semula data berdasarkan lajur tertentu, anda mungkin menghadapi ralat "lajur samar", seperti dalam kes yang diterangkan dalam pertanyaan yang diberikan.
Cabaran utama timbul apabila anda cuba untuk sertai jadual ini menggunakan lajur biasa seperti 'genre' tanpa menyatakan nama jadual dalam klausa WHERE. Memandangkan kedua-dua jadual mengandungi lajur bernama 'genre', MySQL tidak dapat mengenal pasti lajur jadual yang hendak digunakan sebagai perbandingan.
Penyelesaian terletak pada penggunaan operator UNION, yang menggabungkan set hasil dua atau lebih pernyataan SELECT ke dalam set hasil tunggal. Dengan melampirkan setiap pernyataan SELECT dalam kurungan dan menggunakan UNION, anda boleh menggabungkan rekod daripada setiap jadual yang memenuhi syarat 'genre' = 'punk'.
Pertanyaan yang terhasil akan kelihatan seperti ini:
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
Pendekatan ini membolehkan anda mengambil data secara selektif daripada berbilang jadual dengan struktur yang sama sambil menyatakan nama jadual dalam klausa WHERE, menyelesaikan kekaburan dan membolehkan pengisihan yang diingini berdasarkan lajur 'genre'.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Lajur Kabur' Apabila Menyertai Jadual dengan Struktur Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!