我的情况看起来像这样 - 我正在使用postgres数据库,ERP应用程序有大量的SQL查询,我甚至不能把这个查询放在这里,但这不是问题我只需要一个建议。
我有查询wchich获取有关订单号,日期等的信息 上。有模式g和h - 它们有相同的命名表,但是 不同的数据。
在架构g的一个表中,我的列wchich可以是1或0.
类似的东西:
SELECT data FROM g.table
CASE WHEN data=0
THEN leave it as it is
WHEN data=1
THEN get data from h schema
是否有可能?一些功能可能或其他解决方案? 感谢
答案 0 :(得分:2)
你的问题很模糊,所以我的答案也是如此:
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";
答案 1 :(得分:0)
我认为你想要一个更像这样的结构:
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);