sql server 2005多表连接查询,去除部分列不查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2005多表连接查询,去除部分列不查询相关的知识,希望对你有一定的参考价值。

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 列。(除了将需要查询的列写出来这种笨办法之外)。

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.字段号
这里的大写字母都表示一个查询语句

以连表查询的结果,当做查询的内容 希望对你有帮助追问

我这个只能做左连接 交叉连接数据肯定是错误的

追答

你密密麻麻写一堆,没看太懂

追问

三表左连接,三张表都有同一个主键“Patientid” 我要在三表左连接的时候 查出的结果中只显示 1个 Patientid 列。
但是不能使用 select patientid,column1,column2,column3 from table 的这种方法

你配合着图看

追答

我貌似明白你啥意思了,我从别处扒了点,你看看 我觉得有帮助。
得到表中除Col1、Col2的所有列

例如:userno_fm、userno_to
create table test(
num int identity(1,1),
userno_fm varchar(10),
userno_to varchar(10),
username varchar(10))
select * from test

declare @sql varchar(8000)
select @sql=''
select @sql=@sql+','+[name] from
(select [name] from syscolumns where object_id(N'[test]')=[id] and [name] not in ('userno_fm','userno_to')) A

set @sql='select '+stuff(@sql,1,1,'')+' from [test]'
--print @sql
exec (@sql)

drop table test

参考技术A 你需要怎么做,看不懂要求啊追问

三表左连接,三张表都有同一个主键“Patientid” 我要在三表左连接的时候 查出的结果中只显示 1个 Patientid 列。
但是不能使用 select patientid,column1,column2,column3 from table 的这种方法

[SQL Server]: 比较各个SQL Server 版本

https://www.microsoft.com/zh-cn/server-cloud/products/sql-server/comparison.aspx 


比较各个 SQL Server 版本

功能特色
SQL Server 2016SQL Server 2014SQL Server 2012SQL Server 2008 R2

功能特色

性能
内存中 OLTP*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

SQL Server 2008 R2

功能特色

内存中列存储*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

实时运营分析*

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

资源调控器*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

查询存储

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

可用性
AlwaysOn*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

增强的虚拟化支持和实时迁移

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

安全
始终加密*

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

透明数据加密*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

行级别安全性

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

动态数据掩码

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

备份加密支持

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

SQL Server 2008 R2

功能特色

细粒度审核

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

职责分离

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

可编程性
JSON 支持

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

通过 Hadoop 数据进行的 PolyBase 查询**

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

临时

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

云就绪
SQL Server Stretch Database

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

备份到 Azure

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

灾难恢复到 Azure*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

SQL Server 2008 R2

功能特色

Azure 库中优化的虚拟机映像

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

管理
Distributed Replay

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

基于策略的管理

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

商业智能
现代化报告

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

移动商业智能*

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

作为服务器托管的集成服务

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

将报告固定到 Power BI

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

多维语义模型

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

增强的表格式 BI 语义模型*

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

主数据服务*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

技术分享

功能特色

数据质量服务*

SQL Server 2016

技术分享

SQL Server 2014

技术分享

SQL Server 2012

技术分享

SQL Server 2008 R2

功能特色

高级分析
通过 R Services 进行的数据库内高级分析

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

功能特色

R 查询和流式内存的多线程处理*

SQL Server 2016

技术分享

SQL Server 2014

SQL Server 2012

SQL Server 2008 R2

*仅限 SQL Server 企业版和开发人员版本。有关更多信息,请参见 SQL Server 版本页面

** 使用 PolyBase 通过 T-SQL 的简便性执行关系数据和非关系数据查询,这需要一个 Microsoft SQL Server 2016 企业版作为头节点,并向外扩展为多个标准版计算节点。

 

本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1875784

以上是关于sql server 2005多表连接查询,去除部分列不查询的主要内容,如果未能解决你的问题,请参考以下文章

如何解决sqlserver2005中用多表连接的结果建一张新表时,提示各表中的列名必须唯一的问题?

SQL Server 2012 - 多表连接查询

Sql Server数据库之多表查询

Sql Server多表查询

sql查询语句学习,多表查询和子查询以及连接查询

sql 单表/多表查询去除重复记录