Sybase使用jdbc执行多个表的查询

时间:2015-08-21 06:35:18

标签: sql database jdbc sybase

我们需要搜索多个表(超过20个)以查找与条件匹配的记录。 它是一个Sybase数据库,我们使用JDBC执行查询。

我们需要形成一个查询,以便在单个查询执行中我们从多个表中获取所有必需的数据,并且我们不需要为所有表执行多次查询。

这些表之间没有任何关系。它们只是日志表。

示例:

表:table1,table2,table3,table4

需要获得类似于下面的数据

select column1,column2,column3,column4 
from table1, table2, table3. table4 
where (table1.column1 or table2.column1 or table3.column1 or table4.column1) in (1,2,3,4)

所以在我们发现的任何表中都需要获取与(1,2,3,4)匹配的id列。记录将仅出现在许多表中的任何一个表中。

1 个答案:

答案 0 :(得分:1)

使用union(或union all,如果您想接受重复项)

select t1.column1, t1.column2, t1.column3, t1.column4 from table1 t1 
    where t1.column1 in (1, 2, 3, 4)
union
select t2.column1, t2.column2, t2.column3, t2.column4 from table2 t2 
    where t2.column1 in (1, 2, 3, 4)
union
...