问题
到目前为止我做了什么
示例:
$user_id = select user_id fron user_table WHERE name=abc
将$ user_id传递给dbObject user_works db并获取用户ID
$rent = select user_id,rent from rent_table WHERE user_id IN ( $user_ids )
将$ rent传递给定价数据库的dbObject 我想在php应用程序中执行此操作
有没有更好的方法来做到这一点。定价数据库真的很重要?比如使用临时表等。
答案 0 :(得分:1)
使用定价数据库连接中的dblink
select r.*
from
dblink(
'dbname=user_works password=password user=user',
$$ select user_id from user_table where name = 'abc' $$
) as u(user_id int)
inner join
rent_table r on r.user_id = u.user_id
您需要以超级用户身份创建dblink扩展名:
create extension dblink;
或者从远程数据库创建本地视图:
create view user_table as
select *
from
dblink(
'dbname=user_works password=password user=user',
$$ select user_id, name from user_table $$
) as t(user_id int, name text)
;
现在查询它是本地的:
select * from user_table where name = 'abc';