sqlserver:如何截取字符串后联合查询出数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver:如何截取字符串后联合查询出数据相关的知识,希望对你有一定的参考价值。
查询语句:select NodeId from RoleRight where RoleId=1
值:NodeId:1,3,4,8,9,10,2,5,6,7,11,12,13,14,15
查询语句:select menuId,menuName from MenuBar
值:
我想要的是:通过截取出nodeId,然后去匹配menuBar表中的MenuId,如果遍历出的nodeid=menuId,就把menubar表中数据查出来
怎么先把nodeId给截取出来,1,3,4,8,9,10,2,5,6,7,11,12,13,14,15转换成
1
3
4
8
9
10...
select menuId,menuName from MenuBar where MenuId in
(select NodeId from RoleRight where RoleId=1) 参考技术A 联合查询等值链接
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 );
以上是关于sqlserver:如何截取字符串后联合查询出数据的主要内容,如果未能解决你的问题,请参考以下文章