繁体   English   中英

在PHP和MySQL中使用两个表来显示一个循环结果

[英]Using Two Tables in PHP & MySQL to display one loop result

好吧,这里有点有趣的问题。 我有两张桌子: -

  • 实况表
  • ArchiveTable

数据如下: -

Table: LiveTable            Table: ArchiveTable

| ID | NAME      |          | ID | NAME      |
------------------          ------------------
|  1 | Test One  |          |  4 | Test Four |
------------------          ------------------
|  2 | Test Two  |          |  5 | Test Five |
------------------          ------------------
|  3 | Test Three|          |  6 | Test Six  |

我想要做的是将它们合并到一个表中,仅用于查询目的。 不是数据库结构。

本质上,当我做一个PHP循环时,我希望结果像这样工作: -

Merged Results

| ID | NAME      |
------------------
|  1 | Test One  |
------------------
|  2 | Test Two  |
------------------
|  3 | Test Three|
------------------
|  4 | Test Four |
------------------
|  5 | Test Five |
------------------
|  6 | Test Six  |

我该怎么做呢? 还有一种方法可以用Doctrine做到这一点吗?

你应该使用UNION

SELECT id, name FROM tbl1
UNION ALL
SELECT id, name FROM tbl2

您可以使用UNION的SQL查询:

SELECT ID, Name
FROM LiveTable            

UNION ALL

SELECT ID, Name
FROM ArchiveTable

注意: UNION ALL将保留重复项。 如果要删除重复记录,请使用UNION

使用以上两个表创建数据库视图

CREATE VIEW view_name AS SELECT 
  id, name FROM tbl1
UNION
  id, name FROM tbl2 

然后,您可以查询您的视图

你可以使用sql查询多表选择

Select * from LiveTable,ArchiveTable

而已

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM