在php mysql中查找具有相似名称的多个表

在php mysql中查找具有相似名称的多个表,php,mysql,join,Php,Mysql,Join,我试图使用Join从两个mysql表中选择数据,但我想从几个名称相似的表中进行选择,如profile\u starter、profile\u advanced、profile\u premium等。我的问题是,如何从其他表中选择数据,而不必连接更多表?我试过了,但没用: $inbox_sql = " SELECT sender, recipient, time, message, viewed, name, avatar FROM messages LEFT JOIN profile

我试图使用Join从两个mysql表中选择数据,但我想从几个名称相似的表中进行选择,如profile\u starter、profile\u advanced、profile\u premium等。我的问题是,如何从其他表中选择数据,而不必连接更多表?我试过了,但没用:

    $inbox_sql = "
SELECT sender, recipient, time, message, viewed, name, avatar 
FROM messages 
LEFT JOIN profile_* ON profile_*.username = messages.sender
";

请告诉我有没有解决办法?谢谢

答案是你不能。使用JOIN时,表名必须完整,不能使用通配符

如果表是相同的,那么在子查询中查看UNION并创建这些表的转储,而不是将每个表连接到另一个查询如何可能也值得一看,但是这些并不能提高性能,它们都需要使用您的数据和需求进行测试


听起来这里只有3个表,如果简化此示例,您可以使用通配符查询信息\u架构表以列出所有匹配的表,然后使用此输出使用中的完整表名构建查询。

分别命名所有表。如果“初学者”、“高级”和“高级”状态是表之间唯一不同的东西,为什么不只有一个表和一个“状态”列来区分呢?每个表中的信息目前是不同的,但我可以看看如何使其相同,然后使用状态列来区分,谢谢