Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melakukan Gabungan Bersyarat Berdasarkan Nama Jadual Terkira dalam MySQL?

Bagaimanakah Saya Boleh Melakukan Gabungan Bersyarat Berdasarkan Nama Jadual Terkira dalam MySQL?

Mary-Kate Olsen
Lepaskan: 2024-12-10 05:57:17
asal
834 orang telah melayarinya

How Can I Perform Conditional Joins Based on Enumerated Table Names in MySQL?

Canduan Bersyarat dalam MySQL

Apabila berurusan dengan jadual yang mengandungi nilai terhitung yang mewakili nama jadual jadual lain, ia menjadi perlu untuk melaksanakan gabungan berdasarkan nilai jenis. Ini menimbulkan cabaran unik dalam MySQL, kerana ia tidak menyokong gabungan dinamik.

Walau bagaimanapun, penyelesaian boleh dicapai menggunakan ungkapan kes dan gabungan berbilang.

Contoh mudah ialah jadual dengan lajur id1, id2 dan jenis. Lajur jenis mengandungi nama jadual lain. Untuk menyertai jadual jenis berdasarkan nilai jenis, seseorang boleh menggunakan pendekatan berikut:

PILIH
t.id,
t.type,
t2 .id AS id2,
t3.id AS id3

DARI
t

KIRI SERTAI
t2 PADA t2.id = t.id DAN t.type = ' t2'

KIRI SERTAI
t3 ON t3.id = t.id DAN t.type = 't3'

Pertanyaan ini akan melakukan gabungan kiri pada jadual t2 dan t3 berdasarkan nilai jenis. Jika nilai jenis sepadan dengan t2, ia akan mengembalikan lajur id daripada t2 sebagai id2. Begitu juga, jika nilai jenis sepadan dengan t3, ia akan mengembalikan lajur id daripada t3 sebagai id3.

Walaupun tidak seanggun cantuman dinamik, kaedah ini membenarkan cantuman bersyarat berdasarkan nama jadual terhitung dalam MySQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Gabungan Bersyarat Berdasarkan Nama Jadual Terkira dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan