我在PostgreSQL工作,我proble是这样的: 我有3个具有不同ID序列化的表。例如,如果我在表1中插入一行,该ID将是“00001”,如果我刀片在表3的行的编号将“00002” ....
因此,我正在尝试创建一个查询,该查询使用单个查询从三个表中获取数据。我不知道是否有必要创建一个函数plpgsql或仅使用一个简单的查询,我还没有做到。
我想是这样的:(但在PostgreSQL)
function getData(ID){
if( ID exists in table 1){
return select * from table 1
}
if( ID exists in table 2){
return select * from table 1
}
if( ID exists in table 3){
return select * from table 3
}
}
但是,当然,此代码是另一种语言,错误的是伪代码。
有什么建议吗?
答案 0 :(得分:3)
为什么不只使用union all
?
select t1.* from table1 t1 where t1.id = 1
union all
select t2.* from table2 t2 where t2.id = 1
union all
select t3.* from table3 t3 where t3.id = 1