Penyertaan Bersyarat dalam MySQL: Mencantumkan Jadual Secara Dinamik Berdasarkan Jenis Dikira
Masalah:
Pertimbangkan skema jadual MySQL dengan lajur id1, id2 dan jenis. Lajur jenis ialah nilai terhitung yang menentukan nama jadual lain. Tugasnya adalah untuk melaksanakan cantuman dengan jadual yang ditentukan berdasarkan nilai jenis.
Sebagai contoh, anda ingin melakukan cantuman bersyarat berikut:
Penyelesaian:
Walaupun MySQL tidak menyokong cantuman bersyarat secara langsung, satu penyelesaian ialah menggunakan gabungan kiri berbilang jadual dengan operator kes:
SELECT t.id, t.type, t2.id AS id2, t3.id AS id3 FROM t LEFT JOIN t2 ON t2.id = t.id AND t.type = 't2' LEFT JOIN t3 ON t3.id = t.id AND t.type = 't3'
Dalam pertanyaan ini:
Nota:
Penyelesaian ini memerlukan semua jadual gabungan berpotensi wujud dalam pangkalan data, tanpa mengira nilai jenisnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Gabungan Bersyarat dalam MySQL Berdasarkan Jenis Dikira?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!