我正在尝试使用一个输出构建三个不同日志表的搜索结果。此输出必须按“时间”排序并在 foreach 循环中回显。
桌子
编号 | 记录ID | 用户 ID | 时间 | 部门 | 信息
桌子
编号 | 用户 ID | 知识产权 | 时间 | 路径 | 信息 | 留言 | 等级
桌子
编号 | req_id | 用户 | 时间 | 信息 | 类型 | ip
这三个结果都是不同的,几乎没有可比性......
问题是,在哪里以及如何合并结果......我认为我不能只用一个查询来处理这个问题,或者?JOIN(没有引用)和UNION(不同的列数)可能是错误的选择?
如果没有其他选项,我可以进行 3 个查询并像这样合并结果数组
function cmp($a, $b) {
if ($a['time'] == $b['time']) {
return 0;
}
return ($a['time'] < $b['time']) ? -1 : 1;
}
$new_arr = array_merge($result1, $result2, $result3);
uasort($new_arr, 'cmp');