sqlserver两个数据库联合查询

从A数据库读取医嘱,到B数据库定时提醒表,过滤已经读取过到ID

SELECT  a.Id 医嘱ID ,
        a.MedordType 类目 ,
        a.InhosID 住院号 ,
        a.ExecOfficeID 科室编码 ,
        a.StartTime 开始时间 ,
        c.PatientName 姓名 ,
        d.Office 科室名字
FROM    数据库A.dbo.Mst_LongDoctorAdvice a --LEFT JOIN NEWHISMessageWarning.dbo.MessageWarning b ON 1 = 1
        LEFT JOIN 数据库A.dbo.BaseCom_Patient c ON a.InhosID = c.Diagnoseid
        LEFT JOIN 数据库A.dbo.BaseCom_Office d ON d.Officeid = a.ExecOfficeID
WHERE   a.Id NOT IN ( SELECT    yzID
                      FROM      数据库B.dbo.MessageWarning
                      WHERE     yzlx = 1 );

SELECT  a.Id 医嘱ID ,
        a.MEDORDTYPE 类目 ,
        a.INHOSID 住院号 ,
        a.EXECOFFICEID 科室编码 ,
        a.STARTTIME 开始时间 ,
        c.PatientName 姓名 ,
        d.Office 科室名字
FROM    数据库A.dbo.Mst_TempDoctorAdvice a --LEFT JOIN NEWHISMessageWarning.dbo.MessageWarning b ON 1 = 1
        LEFT JOIN 数据库A.dbo.BaseCom_Patient c ON a.INHOSID = c.Diagnoseid
        LEFT JOIN 数据库A.dbo.BaseCom_Office d ON d.Officeid = a.EXECOFFICEID
WHERE   a.Id NOT IN ( SELECT    yzID
                      FROM      数据库B.dbo.MessageWarning
                      WHERE     yzlx = 2 );
时间: 2024-07-31 04:10:30

sqlserver两个数据库联合查询的相关文章

两个表联合查询获取聊天表中用户最新的一条聊天数据

一个用户表,一个聊天记录表,两个表联合查询获取聊天表中用户最新的一条聊天数据 select c.contentfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as content,(select c.statusfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as status from users as a, s

浅谈数据库联合查询

http://www.cnblogs.com/Candies/p/4142576.html 本文介绍以下内容: LFET JOIN.RIGHT JOIN.INNER JOIN.UNION.UNION ALL.FULL JOIN等! 测试数据(以下数据未经考证,非真实有效数据,仅作为本次学习的测试数据!) 全国大学排名TOP20 No. 校名 地区 校长 类型 1 北京大学 北京 周其凤 综合 2 清华大学 北京 顾秉林 理工 3 浙江大学 浙江 杨卫 综合 4 复旦大学 上海 杨玉良 综合 5

MySQL数据库联合查询与连接查询

联合查询 基本概念 联合查询是可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合在一起,使用为此为UNINO或UNION ALL 联合查询:将多个查询的结果合并到一起(纵向合并):字段数不变,多个查询的记录数合并 应用场景 1.将同一张表中不同的结果(需要对应多条查询语句来实现),合并到一起展示数据 2.最常见:在数据量大的情况下,会对表进行分表操作,需要对每张表进行部分数据统计,使用联合查询来将数据存放到一起显示 基本语法 select 语句 union

两张表联合查询,其中一张表对应多行。将多行的数据合并为一行,并用,隔开

直接上代码 1 SELECT DISTINCT [A].[BizID] 2 ,STUFF((SELECT ','+ ActivityModelStepName + ':'+ UserName FROM [dbo].BizBaseStep WHERE BizID = A.BizID 3 FOR XML PATH('') 4 ) ,1,1,'' )AS auditor 5 FROM [dbo].[BizBase] AS A 查询结果如下: for xml path('') 作用是将查询结果组成一个x

在db2中 两个数据库之间的两个表的联合查询

大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理我找了类似于比如两个数据库: db1,db2用户名密码select * from db1.用户名.密码,db2.用户名.密码 where db1.NM=db2.NM可是这样不好用啊请各位帮忙谢谢 DB2有联邦数据库的,你可以查一下. 1.要看目录数据库请用:db2 list db directory这些信息应该是放系统表中.(既不是什么注册表.也不是什么文

MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

工具:VS.net2013.EF6.MVC5.SQLServer2008 参考出处: http://www.cnblogs.com/slark/p/mvc-5-get-started-create-project.html http://www.cnblogs.com/miro/p/4288184.html http://www.cnblogs.com/dotnetmvc/p/3732029.html 一.准备工作 在SqlServer上创建数据库:Element 模拟两个表并插入数据:SysU

MySQL、SqlServer、Oracle三大主流数据库分页查询 (MySQL分页不能用top,因为不支持)

一. MySQL 数据库 分页查询MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数.例如:select * from table WHERE … LIMIT 10; #返回前10行select * from table WHERE … LIMIT

oracle,mysql,SqlServer三种数据库的分页查询总结

MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数.例如: select * from table    LIMIT 10;    #返回前10行 select * from table    LIMIT 0,10; #返回前10行

Sqlserver分布式跨数据库查询、Join,以及分布式事务

简言: 这篇文章我要谈一谈SQL Server分布式跨服务器查询,多表Join,以及分布式事务的处理 SqlServer跨服务器查询的方式 以往自己才疏学浅,学习了一波之后,在这记录下来. 1. 使用sp_addlinkedserver和sp_addlinkedsrvlogin存储过程添加linkserver和登录 --别名 //ip地址 exec sp_addlinkedserver 'interlink','','SQLOLEDB', 'xxx.xxx.xx.xx' --别名 --登录名 -