[英]MySQL search multiple tables with different column names
I am trying to live search two tables in MySQL.我正在尝试实时搜索 MySQL 中的两个表。 I have the following query using UNION.我有以下使用 UNION 的查询。 When I get the result back, the keys are always from the first table columns only;当我得到结果时,键总是来自第一个表列; [username], [pfp], [pro_bg_color]. [用户名]、[pfp]、[pro_bg_color]。 How do I get the different table keys from the two different tables so I can sort through the data?如何从两个不同的表中获取不同的表键,以便对数据进行排序?
QUERY:询问:
$query = "(SELECT `username`, `pfp`, `pro_bg_color`, 'user' AS `type` FROM `users` WHERE `username` LIKE '%{$ok['search_for']}%' AND account_status = 'active') ";
$query .= " UNION ";
$query .= "(SELECT `cluster_id`, `pp_pfp`, `pp_name`, 'page' AS `type` FROM `pixelpage` WHERE `pp_name` LIKE '%{$ok['search_for']}%')";
OUTPUT: OUTPUT:
Array
(
[0] => Array
(
[username] => demo
[pfp] => 43867771.jpg
[pro_bg_color] => 9ddd13
[type] => user
)
[1] => Array
(
[username] => jimmy
[pfp] => 43867770.jpg
[pro_bg_color] => 2a00ff
[type] => user
)
[2] => Array
(
[username] => 1004
[pfp] => 2201fc2d.jpg
[pro_bg_color] => My Page Title
[type] => page
)
) )
I worked it out as follows:我的工作如下:
$query = "(SELECT `user_id` AS `id`, `username` AS `name`, `pfp` AS `pic`, `pro_bg_color` AS `bg_color`, 'user' AS `type` FROM `users` WHERE `username` LIKE '%{$ok['search_for']}%' AND account_status = 'active') ";
$query .= " UNION ";
$query .= "(SELECT `cluster_id` AS `id`, `pp_name` AS `name`, `pp_pfp` AS `pic`, `pp_banner` AS `bg_color`, 'page' AS `type` FROM `pixelpage` WHERE `pp_name` LIKE '%{$ok['search_for']}%')";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.