用户表:user              在user数据库中   
部门表:department        
部门经理表:department_manager 部门表和部门经理表在department数据库中
请问各位不在同一个数据库中怎么关联查询
用户表:user和部门表:department 关联字段是 username
部门表:department 和部门经理表:department_manager关联字段是 org_id

解决方案 »

  1.   

    在同1个服务器上直接
    select * from databasename.tablename
     否则用FEDERATED   引擎
      

  2.   

    当然如果写个脚本每天跑一次 把user数据库的user表搬到department数据库中 问题就解决了
    不过我想问怎么跨数据库查询呢!先谢过
      

  3.   

    select * from user where user_name in(select username FROM  DATABASE. )没有databasename只有DATABASE
    这要用连接查询 我先用子查询测试一下的
      

  4.   

    1楼正解。
    不能的话 就在程序里设置2个datasource了。
    用不同的dao.
      

  5.   

    2个datasource 这样吗?
    user datasource 
    部门和部门经理表datasource 
    然后根据username匹配
    如果把用datatable接收datasource 那就就是2个循环
    foreach(dadarow dr1 in dtuser.rows()){
    foreach(dadarow dr2 in dtdepartment.rows()){
    这里就是一个if判断了
    if(dr1["username"].tostring()==dr2["username"].tostring()){
    这里就是取dr1和dr2的数据了比如
    string username=dr1["username"].tostring();
    ……
    ……
    ……}
    }
    }
      

  6.   

    select *
    from user.user inner join department.department on user.user.username=department.department.username
    inner join department.epartment_manager on department.department.org_id=department.epartment_manager.org_id
      

  7.   


    mySQL 支持跨数据库查询吧。   查询的 时候  都是 数据库名.表名  ,具体没测试过
      

  8.   

    我select * from 数据库名.表名 表名点不出来怎么回事
      

  9.   

    出来了 少了个dbo 色了传统 * from databasename.dbo.table 数据库名.dbo.表明 谢了给为牛人