在两个表上使用union但重命名字段

时间:2015-07-22 22:48:36

标签: 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";
}

1 个答案:

答案 0 :(得分:2)

来自MySQL Union Syntax

  

第一个SELECT语句中的列名用作   返回结果的列名。

您可以在查询中指定sport

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