日期:2014-05-17  浏览次数:20476 次

SQL怎么将2个数据库联合查询
我有2个数据库D1HR,EMHR,EMHR里面有表AttDayData,D1HR里面有表Daydata,以EMHR的数据为基础对比D1HR的数据,这个怎么写?求教,谢谢
------解决方案--------------------
select D1HR
from d1hr.dbo.daydata
except
select D1HR
from emhr.dbo.AttDayData


是这样吗?

------解决方案--------------------
select a.D1HR,b.D1HR 
from d1hr.dbo.daydata a
left join emhr.dbo.AttDayData b
on a.D1HR=b.D1HR

------解决方案--------------------
前面加上数据库名称就和一个库一样了。
------解决方案--------------------
引用:
引用:

SQL code
select D1HR
from d1hr.dbo.daydata
except
select D1HR
from emhr.dbo.AttDayData


是这样吗?
消息 156,级别 15,状态 1,第 4 行
Incorrect syntax near the keyword 'except'.

服务器.数据库.所有者.对象名

引用后跟平常写语句一样
------解决方案--------------------
引用:
引用:

SQL code
select D1HR
from d1hr.dbo.daydata
except
select D1HR
from emhr.dbo.AttDayData


是这样吗?
消息 156,级别 15,状态 1,第 4 行
Incorrect syntax near the keyword 'except'.


LZ的sql server 版本是? 
如果是较低版本,就需要用类似2楼的方法链接处理了。 
------解决方案--------------------


select a.D1HR,b.D1HR 
from 
d1hr.dbo.daydata a --表名前面+数据库名
left join 
emhr.dbo.AttDayData b
on a.D1HR=b.D1HR