我有3张桌子。图片如下。
我想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查询以从多个表中选择数据,而又不使用公共字段?
答案 0 :(得分:0)
结果必须具有定义的结构。例如,您不能返回20行,其中10列具有“ test”,“ col2”,“ someInt”列,而其中10列具有4列“ col1”,“ someName”,“ age”,“ createdDT”。
例如,如果您有两个表(一个表有3列,第二个表有4列),每个表有10行,并且想要选择所有数据,则有两个选项:
无论您出于什么原因,都注定要做的事。想象一下MySQL-Tables,例如openCalc,Excel中的巨大工作表...,您必须为每个工作表定义一次列,并且只能在单个列中进行搜索。对任何表中任何列中的任何内容执行“ Ctrl + F”键均无效。