簡體   English   中英

mysql,從多個表中選擇數據,表中沒有公共字段

[英]mysql, select data from multiple tables, without common field in tables

我有3張桌子。 圖像如下。

  1. 新聞

在此處輸入圖片說明

  1. 頁數

在此處輸入圖片說明

  1. 社區

在此處輸入圖片說明

我想從這些表中select數據,因為這些表沒有公共字段。

我有一個搜索字段,用戶輸入搜索詞,然后mysql查詢應在這些表中搜索並顯示結果。 但是我不了解如何在沒有公共字段的情況下選擇數據。

我可以在一個表中搜索,但不能在多個表中搜索。

我的密碼

$search_term = $_REQUEST['search_term'];
$where="select * from community where 1";
if($search_term!=''){
        $where.=" and name like '%$search_term%' or zip like '%$search_term%' or city like '%$search_term%'or state like '%$search_term%'or location like '%$search_term%' or country like '%$search_term%'";
    }
$db = new Database();
$results_per_page=5;
$pg=new Paging($db,$where,$current_page,$results_per_page);
$start=$pg->get_start();
$total_pages=$pg->get_total_pages($where);
$result=$db->query("$where  order by id desc limit $start,$results_per_page");
$get_all_communitites = $result;

任何人都給我一些提示,如何編寫此mysql查詢以從多個表中選擇數據,而沒有公共字段?

結果必須具有定義的結構。 例如,您不能返回20行,其中10列具有“ test”,“ col2”,“ someInt”列,而其中10列具有4列“ col1”,“ someName”,“ age”,“ createdDT”。

例如,如果您有兩個表(一個表有3列,第二個表有4列),每個表都有10行,並且想要選擇所有數據,則有兩個選項:

  1. 加入他們。 如果您不能在邏輯上連接這些表,那么您將獲得所有可能的組合。 在我的示例中,您將有100列(10 * 10)和7列。
  2. 聯盟。 您可以進行兩個查詢,並假裝兩者都來自同一個假想表,但是要使其正常工作,兩個表必須具有相同的列數。

無論您出於什么原因,注定要做的事都是注定的。 想象一下MySQL-Tables,例如openCalc,Excel中的巨大工作表...,您必須為每個工作表定義一次列,並且只能在單個列中進行搜索。 對任何表中任何列中的任何內容執行“ Ctrl + F”操作不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM