Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Carian Kata Kunci Merentasi Berbilang Jadual dalam MySQL dan Mengenalpasti Jadual Asal?

Bagaimana untuk Melaksanakan Carian Kata Kunci Merentasi Berbilang Jadual dalam MySQL dan Mengenalpasti Jadual Asal?

Linda Hamilton
Lepaskan: 2024-11-23 12:32:16
asal
886 orang telah melayarinya

How to Perform a Keyword Search Across Multiple Tables in MySQL and Identify the Table of Origin?

Carian Jadual Berbilang dalam MySQL Menggunakan Kata Kunci

Soalan:

Dalam pangkalan data dengan tiga jadual (mesej, topik dan ulasan), setiap satu mengandungi medan 'kandungan' dan 'tajuk', bagaimana kita boleh melakukan carian SUKA merentas semua jadual menggunakan kata kunci? Bagaimanakah kita membezakan jadual asal bagi setiap hasil?

Penyelesaian:

Untuk mencari berbilang jadual menggunakan kata kunci dalam PHP dan MySQL, kita boleh menggunakan pertanyaan UNION :

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
Salin selepas log masuk

Pertanyaan ini menyatukan hasil daripada setiap jadual menjadi satu output. Medan 'jenis' yang ditambahkan pada setiap baris berfungsi sebagai pengecam untuk jadual asalnya. Selepas melaksanakan pertanyaan ini, kami boleh mengulangi hasil dan menentukan jadual asal berdasarkan nilai 'jenis'.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Carian Kata Kunci Merentasi Berbilang Jadual dalam MySQL dan Mengenalpasti Jadual Asal?. 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