Saya menghadapi masalah sebelum ini Terdapat dua jadual dalam pangkalan data mysql Satu jadual alamat menyimpan maklumat lokasi seperti wilayah dan bandar, dan jadual pengguna lain mempunyai tiga medan yang sepadan dengan tiga maklumat lokasi dalam jadual alamat. Format jadual yang sangat pelik), seperti yang ditunjukkan dalam gambar:
Sekarang kita perlu menanyakan data dalam jadual pengguna dan menyimpan mengikut ke jadual pengguna Untuk nilai kawasan bandar, maklumat lokasi yang sepadan (nama) disoal dalam jadual alamat dan dipaparkan; >
Pertama sekali, kita perlu mendapatkan Untuk nilai tiga medan wilayah dan bandar dalam jadual pengguna, kaedah pertanyaan umum kami ialahSELECT province,city,district FROM `user` WHERE id =1;
Ini adalah cara penulisan biasa, dan kemudian gunakan hasil ini sebagai syarat pertanyaan untuk tanya nama dalam jadual alamat.
Sudah tentu idea itu kelihatan bagus, tetapi hasil pertanyaan ini dibahagikan kepada Ia adalah tiga segmen, yang tidak sesuai untuk pertanyaan kami yang berikutnya keputusan dan kemudian proses dan pertanyaan lagi. Pada masa ini, kita perlu menggunakan dua fungsi SQL, CONCAT_WS dan CONCAT ditemui di Baidu. Saya tidak akan memperkenalkannya di sini:) Jadi pernyataan pertanyaan kami boleh ditulis sebagaidan hasilnya adalah seperti yang ditunjukkan dalam rajah:
SELECT CONCAT_WS(',',province,city,district) AS ids FROM `user` WHERE id =1;
Dengan hasil ini, kami pada asasnya boleh menanyakan maklumat alamat Begitu juga, apabila menanyakan maklumat alamat, kami juga melakukan penyambungan yang sepadan, jadi sql akhir adalah seperti ini Hasil ideal
SELECT GROUP_CONCAT(`name`) FROM address WHERE id IN (SELECT CONCAT_WS(',',province,city,district) FROM `user` WHERE id =1);
Menganalisis idea kami sekali lagi, tiada masalah. Jadi bagaimana kita boleh menggunakan rentetan ini sebagai syarat pertanyaan dan akhirnya mendapat hasil yang kita inginkan Menurut maklumat di Internet, keadaan pertanyaan Kandungan dalam hanya boleh berangka, jadi ia tidak? pertanyaan rentetan sokongan, jadi di sini kita juga memerlukan fungsi, instr Sejujurnya, ini adalah kali pertama saya tahu fungsi ini, saya hanya tahu sedikit tentang mysql dangkal, haha. Kemudian mari kita cuba kesan fungsi ini alamat boleh diubah suai mengikut keperluan perniagaan memang sangat berkuasa saya masih perlu belajar lebih lanjut pada masa hadapan
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertanyaan penyambungan berbilang lajur dalam hasil pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!