php - 在两个表上使用联合但重命名字段

标签 php mysql

我有两个表,它们的 id 字段同名。我不认为我需要混合两者,但我需要在一页上。我无法连接这些表,因为它们都有完全独立的数据并且没有共同的字段。

我可以合并它们,但 ID 字段是相同的名称和许多相同的数字(不相关)。我无法更改表中的名称,但我需要在将字段名称放入变量时(使用 PHP)不同。

我试过这样的:

SELECT date, id as id1
FROM football

UNION
SELECT date, id as id2
FROM basketball
ORDER BY date

但这只给了我一个字段 (id1)。我需要的结果是我可以这样做的:

foreach ($rows as $row) {
   if (!empty($row['id1'])) {
      $id = $row['id1'];
      $sport = "football";
   } else {
      $id = $row['id2'];
      $sport = "basketball";
   }
   echo "my number is $id and I play $sport";
}

最佳答案

来自 MySQL Union Syntax

The column names from the first SELECT statement are used as the column names for the results returned.

您可以在查询中分配sport:

SELECT date, id, 'football' as sport
FROM football    
UNION
SELECT date, id, 'basketball' as sport
FROM basketball
ORDER BY date

关于php - 在两个表上使用联合但重命名字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31575342/

相关文章:

php - MySQL新加入的查询与子查询花费的时间太长

php - 将 WordPress 网站迁移到本地主机

php - 使用大数据库在本地安装 MediaWiki : "LocalSettings.php" couldn't be generated

运行表单脚本时php pdo空白页

php - 限制在回收 View 中显示的项目

php - 设计实时聊天

php - 如何为 php 7 安装 redis 扩展

mysql - 计算记录之间的时间?

javascript - Node Promise 与 node-mysql 不会让应用程序终止

php - 使用php将图像添加到mysql