doudoulb1234 2010-04-23 19:03
浏览 78
已采纳

如何使用多个数据库适配器来查询涉及不同数据库的表?

I've 2 databases, which are set up as mentioned here. How can I write a SQL query which involves database_1.table_1 and database_2.table_1 ?

E.g. consider this query

$sql = "SELECT distinct database_1.users.id, database_1.users.name
        FROM database_1.users, database_2.sales
        WHERE database_2.sales.user_id = database_1.users.id";

How this query could be written using multiple db adapter?

Edit: I thought of using 2 database adapters because this way I can change actual database names in application.ini. Is there any other way I can change database names without changing sql queries?

Solution I'm using: I used another config variable to read second database name. First database name comes from adapter settings.

  • 写回答

1条回答 默认 最新

  • dongque1462 2010-04-23 19:06
    关注

    You can't unless you use something like Federated databases, but even then you'd use one database adapter for the query and let the database handle the fetching from the federated other databases.

    Zend_Application_Resource_Multidb is just setting up multiple database adapters at once. Nothing more. You will use each adapter separately from the other. Use Adapter1 to query database1 and use adapter to query database2. Two queries. Merge the results inside your application.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记