将两个不同SQL表的结果作为搜索结果返回

时间:2011-01-24 09:02:44

标签: java sql

我有两个不同的表,包含类似的数据,但格式略有不同。

是否可以从两个表中返回搜索结果?我还需要对这些结果进行分页。

1 个答案:

答案 0 :(得分:1)

您可以使用UNION查询两个表并仅在一个查询中返回结果:

SELECT field1,field2  FROM table1
UNION
SELECT field1,field2 FROM table2

如果table1table2非常不同,您可以将UNION与更复杂的FROM结合使用其他select之类的东西......

SELECT field1,field2  FROM (SELECT id1 as field1,id2 as field2 FROM table1a,table1b WHERE id1 = id2)
UNION
SELECT field1,field2 FROM table2

要对结果进行分页,您可以将联合包含在另一个select中并使用limitoffset ....

SELECT field1,field2 FROM (
    SELECT field1,field2  FROM table1
    UNION
    SELECT field1,field2 FROM table2
) LIMIT 100 OFFSET 0

如果您给我们一个表格结构的小描述,我们可以提供更好的帮助。