跨数据库连表查询sql语句怎么写?
各位早上好,请教一个sql语句的问题,我这是A数据库查询职员信息EMP表,而这个fdepartmentid我是想显示为另外一个B数据库dept表的departid的值,那...
各位早上好,请教一个sql语句的问题,我这是A数据库查询职员信息EMP表,而这个fdepartmentid我是想显示为另外一个B数据库dept表的departid的值,那么我可以通过A数据库EMP表的fdepartmentid查询出部门名称departname,然后通过departname查询出B数据库depart表的departid,请问这sql语句该怎么写,求大神指导,这是我的sql语句:select fdepartmentid, from A..T_EMP
展开
展开全部
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,点击左上角“新建查询”选项。
3、接着在该界面中,输入跨数据库连表查询的sql语句“select a.name as aname ,a.grade as bgrade ,b.name as bname,b.grade as bgrade from LGEMPS.dbo.test2 as a, test.dbo.rss as b where a.name = b.name;“。
4、然后在该界面中,点击左上方“执行”按钮。
5、最后在该界面中,显示跨数据库连表查询成功。
展开全部
通过fdepartmentid查询出部门名称departname,这个部门名称在A库上也有了吧,假设部门名称存在A库的表T_DEPT中。
select a.fdepartmentid,b.departname,c.departid
from A..T_EMP a join A..T_DEPT b on a.fdepartmentid = b.fdepartmentid
join B..depart c on b.departname = c.departname
select a.fdepartmentid,b.departname,c.departid
from A..T_EMP a join A..T_DEPT b on a.fdepartmentid = b.fdepartmentid
join B..depart c on b.departname = c.departname
追问
这样是可以查询出B数据库的departid,不过只有一条数据,你能不能远程给我看一下?454833459
追答
因为都是一一对应的,所以只有一条。
select a.fdepartmentid,b.departname,c.departid
from A..T_EMP a left join A..T_DEPT b on a.fdepartmentid = b.fdepartmentid
left join B..depart c on b.departname = c.departname
这样,可以查出所有的员工和有对应的deptid
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样应该符合你要求:
select fdepartmentid,departname from A..T_EMP,opendatasource('SQLOLEDB','Data Source=数据库B的IP;User ID=sa; Password=数据库B密码').数据库..dept
where fdepartmentid = departid
---或者写你需要的条件
远程数据库操作:opendatasource('SQLOLEDB','Data Source=数据库B的IP;User ID=sa; Password=数据库B密码').数据库..dept
select fdepartmentid,departname from A..T_EMP,opendatasource('SQLOLEDB','Data Source=数据库B的IP;User ID=sa; Password=数据库B密码').数据库..dept
where fdepartmentid = departid
---或者写你需要的条件
远程数据库操作:opendatasource('SQLOLEDB','Data Source=数据库B的IP;User ID=sa; Password=数据库B密码').数据库..dept
追问
不能直接查询出departname的,它是在depart表里面,首先查询出fdepartmentid作为条件再查询出departname作为条件查询出B数据库的depart表的departid
追答
一般ID是唯一而且对应的才对的。
select fdepartmentid , b.departid from A..T_EMP,A..T_DEPT as a,opendatasource('SQLOLEDB','Data Source=数据库B的IP;User ID=sa; Password=数据库B密码').数据库..dept as b
where fdepartmentid = a.departid
and a.departname = b.departname
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-03
展开全部
SELECT * FROM SBOFL..table1 LEFT JOIN SBOFK..TABLE2 ON ...
SBOFL和SBOFK代表两个数据库
SBOFL和SBOFK代表两个数据库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询