php - MySQL从多个相同的表中选择查询并确定结果中的表

标签 php mysql sql arrays database

我有多个表,其中包含相同的列和不同的数据,我正在尝试进行单个查询以从所有这些表中提取数据并将它们视为单个查询。我还需要知 Prop 体的结果是来自哪个表。 I found this 帮助我从多个表中获取查询,但是当我尝试时

$tables=array("loads", "loads_completed");
foreach ($tables as $table) {
  $table = '`'.mb_ereg_replace('`','``',$table).'`';
  $sql[] = "(
    SELECT   *
    FROM  $table
    ORDER BY status
    LIMIT    50
  )";
}
$sql = implode(' UNION ALL ', $sql);

即使两个表中都有内容,我也得到查询为空

This是我发现的用于显示结果表的内容,但我不确定如何使用表数组构成查询。

最佳答案

你可以这样做

foreach ($tables as $table) {
  $table = '`'.mb_ereg_replace('`','``',$table).'`';
  $sql[] = "(
    SELECT   *,'".$table."' AS tableName
    FROM  $table
    ORDER BY status
    LIMIT    50
  )";
}

关于php - MySQL从多个相同的表中选择查询并确定结果中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428652/

相关文章:

"NOT IN"值列表的 MySQL 变量格式

sql按集合从组中创建列

javascript - 如果使用 javascript 将 ajax 放置在变量中,结果会有所不同

php - 我将如何使用 PHP substr?

php - 3 表左外连接不适用于子查询

mysql - 如何在 SQL 中舍入一个值?

mysql - Windows Phone 8.1 应用程序连接数据库

c# - 持久保存 C# 应用程序设置/配置的最佳实践

SQL CASE语句具体例子

php - 如何使用 preg_match 来测试空格?