PostgreSQL—当某个对象从不同的模式获取数据时是什么情况?
我的情况是这样的-我正在处理postgres数据库,ERP应用程序有大量的SQL查询,我甚至不能把这个查询放在这里,但这不是问题,我只需要一个建议PostgreSQL—当某个对象从不同的模式获取数据时是什么情况?,sql,postgresql,Sql,Postgresql,我的情况是这样的-我正在处理postgres数据库,ERP应用程序有大量的SQL查询,我甚至不能把这个查询放在这里,但这不是问题,我只需要一个建议 我有一个查询窗口,它可以获取订单号、日期等信息 在…上对于模式g和h,它们有相同的命名表,但是 使用不同的数据 在模式g的一个表中,我有列wch,它可以是1或0 现在我需要在这个查询中检查这个值是否为0-然后我需要 从g模式的表中获取数据,当它是1时,从h模式获取数据 比如: SELECT data FROM g.table CASE WHEN
- 我有一个查询窗口,它可以获取订单号、日期等信息 在…上对于模式g和h,它们有相同的命名表,但是 使用不同的数据
- 在模式g的一个表中,我有列wch,它可以是1或0
- 现在我需要在这个查询中检查这个值是否为0-然后我需要 从g模式的表中获取数据,当它是1时,从h模式获取数据
SELECT data FROM g.table
CASE WHEN data=0
THEN leave it as it is
WHEN data=1
THEN get data from h schema
是否可能?一些函数或者其他解决方案?
谢谢你的问题很模糊,所以我的回答也是:
SELECT CASE g."table".data
WHEN 0 THEN g."table".data
WHEN 1 THEN h."table".data
END
FROM g."table"
CROSS JOIN h."table";
你的问题很模糊,所以我的回答也是:
SELECT CASE g."table".data
WHEN 0 THEN g."table".data
WHEN 1 THEN h."table".data
END
FROM g."table"
CROSS JOIN h."table";
我想你想要一个更像这样的结构:
select g.*
from g
where g.col = 0
union all
select h.*
from h
where exists (select 1 from g where g.? = h.? and g.col = 1);
我想你想要一个更像这样的结构:
select g.*
from g
where g.col = 0
union all
select h.*
from h
where exists (select 1 from g where g.? = h.? and g.col = 1);
您可以将两个表格合并在一起,然后根据您的问题添加一些表格和基于该数据的预期输出。请(你的问题-不要在评论中发布代码或其他信息)你可以加入两个表格,请回答你的问题,并根据这些数据添加一些和预期的输出。请(您的问题-请勿在评论中发布代码或附加信息)