首頁 > 資料庫 > mysql教程 > 如何在MySQL中跨表進行關鍵字搜尋並識別來源表?

如何在MySQL中跨表進行關鍵字搜尋並識別來源表?

Linda Hamilton
發布: 2024-11-23 12:32:16
原創
941 人瀏覽過

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

使用關鍵字在 MySQL中進行多表搜尋

問題:

在資料庫中三個表格(訊息、主題和評論),每個表格包含「內容」和「標題」字段,如何我們使用關鍵字在所有表中執行LIKE 搜尋?我們如何區分每個結果的來源表?

解決方案:

要在PHP 和MySQL 中使用關鍵字搜尋多個表,我們可以使用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);
登入後複製

此查詢將每個表的結果合併為一個輸出。新增至每行的「類型」欄位用作其源自的表的標識符。執行此查詢後,我們可以迭代結果並根據“type”值確定來源表。

以上是如何在MySQL中跨表進行關鍵字搜尋並識別來源表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板