sql server 2005多表连接查询,去除部分列不查询
withpas(selectpp.*,s.sectionidfromtb_patientpp,tb_section_flagswherepp.patientid=s.pa...
with p as( select pp.*,s.sectionid from tb_patient pp,tb_section_flag s where pp.patientid=s.patientid and Status='I' and siteid not in('SI0000000554485','SI0000003221423','SIHCSLCS5E945TZ', 'SIHE7UJ13VVXNO0','SIHE9JS19E2GQEW') ) select *,ROW_NUMBER() over(order by p.PatientId) AS RowNumber from p left join SSGO31S90AHTPRK on (p.patientid = SSGO31S90AHTPRK.patientid) left join SSGO31SD34H73T3 on p.patientid =SSGO31SD34H73T3.patientid where sectionid = 'SEGO31QECEHQMRZ'
结果:
因为三表连接,写的存储过程,用String 格式拼接的sql语句。所以我想有没有什么办法,在表连接查询的时候不查询子表中的 PatientId 列。(除了将需要查询的列写出来这种笨办法之外)。 展开
结果:
因为三表连接,写的存储过程,用String 格式拼接的sql语句。所以我想有没有什么办法,在表连接查询的时候不查询子表中的 PatientId 列。(除了将需要查询的列写出来这种笨办法之外)。 展开
2个回答
展开全部
select ,,, from
(select ,,, from 表1 where ) A
innor jion
(select ,,, from 表2 where ) B
on
where A.XXX=B.XXX
INNER JOIN 连接三个数据表的用法:
SELECT ,,, FROM (A INNER JOIN B ON A.字段号=B.字段号) C INNER JOIN D ON C.字段号=D.字段号
这里的大写字母都表示一个查询语句
以连表查询的结果,当做查询的内容 希望对你有帮助
(select ,,, from 表1 where ) A
innor jion
(select ,,, from 表2 where ) B
on
where A.XXX=B.XXX
INNER JOIN 连接三个数据表的用法:
SELECT ,,, FROM (A INNER JOIN B ON A.字段号=B.字段号) C INNER JOIN D ON C.字段号=D.字段号
这里的大写字母都表示一个查询语句
以连表查询的结果,当做查询的内容 希望对你有帮助
更多追问追答
追问
我这个只能做左连接 交叉连接数据肯定是错误的
追答
你密密麻麻写一堆,没看太懂
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询