将来自多个表的相同结果集合并到单个结果集中

时间:2012-01-03 10:40:57

标签: mysql sql

我可以在我正在处理的MySQL数据库问题上使用一些帮助。我已经对几乎相同的问题进行了一系列陈旧的回答,但是没有运气。一些答案似乎是我需要的(JOIN,INNER JOIN,JOIN LEFT),但仍然没有给我正确的输出。我得到了一个奇怪的输出或一个简单的错误信息......

好的就是:

我有4个表 - 它们都包含相同数量的字段 - 名称相同。所以4个不同的表有重复的字段。

我需要从字段eid = 219的所有4个表中获取所有内容到一个数组中。

我需要能够将输出限制为20行 - 所以我可以在不同的页面上显示它们。这意味着起点将根据当前页面而有所不同......

知道如何解决这个问题吗?

让我们说这些表是:

表1 表2 表3 表4

它们都包含字段: ID 开斋节 名称 tekst

THX 约翰

1 个答案:

答案 0 :(得分:3)

您需要一个UNION查询:

(SELECT id, eid, name, tekst, 'from table 1' as table_source FROM table1)
UNION
(SELECT id, eid, name, tekst, 'from table 2' as table_source FROM table2)
UNION
(SELECT id, eid, name, tekst, 'from table 3' as table_source FROM table3)
UNION
(SELECT id, eid, name, tekst, 'from table 4' as table_source FROM table4)
ORDER BY name LIMIT 20
相关问题