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

时间:2016-10-19 11:23:50

标签: php mysql

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

  • 实况表
  • ArchiveTable

数据如下: -

Merged Results

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

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

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

private String refactor(String mess) {
        int indexToRemove = mess.lastIndexOf("<strong>");
        String toBeReplaced = mess;
        if(indexToRemove >= 0 ){
             toBeReplaced = mess.substring(0, indexToRemove);
        }
        int newIndex = toBeReplaced.lastIndexOf("</strong>");
        String messFinal = toBeReplaced;
        if(newIndex >= 0){
            messFinal = toBeReplaced.substring(0, newIndex);
        }
        return messFinal;
    }

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

4 个答案:

答案 0 :(得分:1)

可以使用UNION

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

答案 1 :(得分:1)

您可以对UNION使用SQL查询:

SELECT ID, Name
FROM LiveTable            

UNION ALL

SELECT ID, Name
FROM ArchiveTable

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

答案 2 :(得分:1)

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

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

然后您可以查询您的视图

答案 3 :(得分:0)

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

Select * from LiveTable,ArchiveTable

它是