我一直在尝试在过去的几天里完成这个MySQL查询,现在运行得很少。我想将这些多个表格和它们的列组合起来,然后按照它们的共同点(不是按名称,而是按内容)排序。我有以下的数据库表:结合多个独特的MySQL表格并按一列排序
mb_bans:
mb_ban_records:
mb_kicks:
mb_mutes:
mb_mutes_records:
mb_warnings:
我试图做到的是这一行中的东西:
不幸的是,我以后难倒如何将这些MySQL表组合在一起,同时将它们保存在不同的类别中 - 按每个表中的_time列排序。我会如何处理这个问题?我一直没有成功地尝试检索它们。我能得到的最接近的结果是将每个列的_time列组合在一起,然后在查询中给它一个值作为“日期”的值,但是我无法对结果做很多工作。我仍然需要将它作为单独的行来调用,对吗?我大概可以用使用fetchall但后来我将无法添加任何东西的价值..
$banq = $db->prepare('SELECT banned, banned_by, ban_reason, ban_time, ban_expires_on FROM '.BAN_TABLE.' ORDER BY ban_time DESC');
$kickq = $db->prepare('SELECT kicked, kicked_by, kick_reason, kick_time FROM '.KICK_TABLE.' ORDER BY kick_time DESC');
$muteq = $db->prepare('SELECT muted, muted_by, mute_reason, mute_time, mute_expires_on FROM '.MUTE_TABLE.' ORDER BY mute_time DESC');
$warnq = $db->prepare('SELECT warned, warned_by, warn_reason, warn_time FROM '.WARN_TABLE.' ORDER BY warn_time DESC');
$banq->execute();
$kickq->execute();
$muteq->execute();
$warnq->execute();
基本上我想所有这些查询为一体+两个_Record表结合在一起。任何可以帮助我的建议都是非常值得赞赏的,因为我花了无数个小时试图自己解决这个问题。
提前致谢!
选择它们是从每个表兴趣等于列,并做了UNION。 – Mihai