MySQL 在多个表中搜索
MySQL search In multiple tables
您好,我有 3 个表:cities、areas、sub_locations,我不知道用户在搜索哪个表,所以我想一次搜索所有表,而且我需要以某种方式表明结果返回的是地区、城市还是 sub_location。
表格结构:
Cities:
id int
city_name varChar
Areas:
id int
area_name varChar
Sub_locations:
id int
sub_location_name varChar
所以只需要在 city_name , area_name 和 sub_location_name
中搜索
我想使用全文 search.Also 我使用 Laravel 4 所以你可以在 Eloquent 中查询。请帮助,以前从未处理过这种逻辑。谢谢。
你可以试试
$keyword = $_POST['your_search_input_field'];
$query = "(SELECT city_name FROM Cities WHERE city_name LIKE '%" .
$keyword . "%')
UNION
(SELECT area_name FROM Areas WHERE area_name LIKE '%" .
$keyword . "%')
UNION
(SELECT sub_location_name FROM Sub_locations WHERE sub_location_name LIKE '%" .
$keyword . "%' )";
mysql_query($query);
使用这个
SELECT `city_name` as `area` ,'city' as type FROM `cities` where city_name
'your like conditions'
union
select `area_name` as `area`, 'area' as type from `areas` where 'your like conditions'
union
select `sub_location_name` as `area`, 'sublocation' as type where 'your like conditions'
from `Sub_locations`
在这里您可以找到结果,并且还可以按类型列对 table 这些结果从中排序。
您好,我有 3 个表:cities、areas、sub_locations,我不知道用户在搜索哪个表,所以我想一次搜索所有表,而且我需要以某种方式表明结果返回的是地区、城市还是 sub_location。
表格结构:
Cities:
id int
city_name varChar
Areas:
id int
area_name varChar
Sub_locations:
id int
sub_location_name varChar
所以只需要在 city_name , area_name 和 sub_location_name
中搜索我想使用全文 search.Also 我使用 Laravel 4 所以你可以在 Eloquent 中查询。请帮助,以前从未处理过这种逻辑。谢谢。
你可以试试
$keyword = $_POST['your_search_input_field'];
$query = "(SELECT city_name FROM Cities WHERE city_name LIKE '%" .
$keyword . "%')
UNION
(SELECT area_name FROM Areas WHERE area_name LIKE '%" .
$keyword . "%')
UNION
(SELECT sub_location_name FROM Sub_locations WHERE sub_location_name LIKE '%" .
$keyword . "%' )";
mysql_query($query);
使用这个
SELECT `city_name` as `area` ,'city' as type FROM `cities` where city_name
'your like conditions'
union
select `area_name` as `area`, 'area' as type from `areas` where 'your like conditions'
union
select `sub_location_name` as `area`, 'sublocation' as type where 'your like conditions'
from `Sub_locations`
在这里您可以找到结果,并且还可以按类型列对 table 这些结果从中排序。