Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL—当某个对象从不同的模式获取数据时是什么情况?_Sql_Postgresql - Fatal编程技术网

PostgreSQL—当某个对象从不同的模式获取数据时是什么情况?

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

我的情况是这样的-我正在处理postgres数据库,ERP应用程序有大量的SQL查询,我甚至不能把这个查询放在这里,但这不是问题,我只需要一个建议

  • 我有一个查询窗口,它可以获取订单号、日期等信息 在…上对于模式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);

您可以将两个表格合并在一起,然后根据您的问题添加一些表格和基于该数据的预期输出。请(你的问题-不要在评论中发布代码或其他信息)你可以加入两个表格,请回答你的问题,并根据这些数据添加一些和预期的输出。请(您的问题-请勿在评论中发布代码或附加信息)