Menyertai Berbilang Jadual dalam MySQL dengan INNER JOIN
Apabila bekerja dengan pangkalan data hubungan seperti MySQL, menyertai jadual membolehkan anda mendapatkan semula data daripada berbilang jadual berdasarkan lajur biasa. Tutorial ini membimbing anda melalui proses menyertai tiga jadual: pesanan, harga_produk dan produk.
Pernyataan Masalah
Untuk mendapatkan semula produk yang berkaitan dengan pengguna tertentu dan sertakan hiperpautan kepada setiap produk, jadual keempat, penyenaraian, perlu disertakan. Walau bagaimanapun, pertanyaan semasa mengembalikan rekod pendua daripada jadual penyenaraian.
Penyelesaian
Untuk menyelesaikan isu ini, ubah suai pertanyaan seperti berikut:
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
Penjelasan:
Output
Untuk data sampel yang disediakan, pertanyaan yang dikemas kini pulangan:
| 33 | produk ujian | ujian.com | 7 | 37 |
Output ini termasuk ID produk, nama, URL penyenaraian, ID pengguna dan ID harga untuk pengguna tertentu dengan ID pengguna 7.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Menyertai Empat Jadual dalam MySQL untuk Mengelakkan Rekod Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!