简体   繁体   English

MySQL 搜索多个不同列名的表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM