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

直接上代码

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(‘’) 作用是将查询结果组成一个xml;

例如 :

SELECT TOP 5 BizID,ApplySubject  FROM bizbase  FOR XML PATH (‘‘)

查询结果为:

<BizID>000299a4-daed-49f5-ae5f-6e4500917d58</BizID>

<ApplySubject>关于青岛海创开发建设投资有限公司青岛铁路北客站安置区B-1区项目李沧区板桥坊河以南、胶济客运既有线以西、安顺路以东单体竣工验收的申请</ApplySubject>

<BizID>00037f41-77dc-4393-8224-08655cdf1869</BizID>

<ApplySubject>0327关于道路包车客运经营许可的申请</ApplySubject>

<BizID>0003ee84-01a5-4c36-8ba0-d5b9bfa1670b</BizID>

<ApplySubject>关于林语山畔(二期:3#-7#、12#楼及幼儿园)工程剩余工程工程安全报监的申请</ApplySubject>

<BizID>00045126-e379-45fc-a50b-e136ebaf3ca8</BizID>

<ApplySubject>关于青岛高新技术产业开发区管理委员会公共事业服务中心广盛路道路绿化提升工程汇智桥路至华中路报审修建性详细规划方案报审修建性详细规则方案的申请</ApplySubject>

<BizID>000507e6-7085-4d97-a1bb-236aaefd9545</BizID>

<ApplySubject>关于青岛浩阔源福顺工贸有限公司无公害水产品产地认定</ApplySubject>

STUFF  作用是删除 第一个‘,’(sql的下标是从 1开始的)

在一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串

SELECT STUFF(‘abcdef‘, 2, 3, ‘ijklmn‘)
GO

下面是结果集

aijklmnef

时间: 2024-10-03 04:42:44

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

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

一个用户表,一个聊天记录表,两个表联合查询获取聊天表中用户最新的一条聊天数据 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

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

union联合查询将两个表的查询结果在一个表中显示

表格ChannelReward和表格RewardSuppleSettle中都有一下几个字段JSMonth, ChannelNo, RewardSum, RewardItem.要将两个表中RewardSum>0的记录都显示在一个表中,可以使用联合查询 select * from(SELECT     JSMonth, ChannelNo, RewardSum, RewardItem, '1' AS ObjectTypeFROM         dbo.ChannelRewardWHERE    

thinkphp两表,多表联合查询及分页的连贯操作写法

ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 1.原生查询示例: 代码如下: $Model = new Model(); $sql = 'select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id '.$map.' order by a.id '.$sort.' limit '.$p->firstRow.','.$p-

hibernate实现多表联合查询

以前用sql实现联合查询 是非常简单的事,只需要写sql语句就可以,第一次遇到hibernate要实现多表联合查询的时候还楞了一下.最后看了下资料,才恍然大悟,hibernate实现多表联合查询跟SQL没多大差别. hibernate很多实现都是靠喜欢配关系,但是如果两张表,数据量都非常大的时候,并不合适配关系. 例如:student表和score表需要做联合查询. 1)sql: select s.id,s.name,sc.score from student as s,score as sc

【Oracle】曾经的Oracle学习笔记(4-7)多表联合查询,子查询,动态条件查询

一.多表联合查询 二.子查询 三.动态条件查询 LESSON 4 Displaying Data from Multiple Tables-------------------------------------------------------- 查询s_emp表中最大的工资数,并且显示出这个最大工资数的员工名字 select last_name,max(salary)from s_emp; 多表查询 查询多张表的时候会产生笛卡尔积 为了防止笛卡尔积的产生,我们需要使用某些条件把两张表或多张

MyBatis之三:多表联合查询

在这篇文章里面主要讲解如何在mybatis里面使用一对一.一对多.多表联合查询(类似视图)操作的例子. 注:阅读本文前请先大概看一下之前两篇文章. 一.表结构 班级表class,学生表student,班级学生关系表ClassStudent. 这里一个学生只会在一个班级里面,也就是一对一的关系:一个班级有多个学生,也就是一对多的关系. 结构如下: CREATE TABLE [dbo].[Class]( [class_id] [int] NOT NULL, [class_name] [varchar

MySQL增删改查之【多表联合查询】

很多时候在实际的业务中我们不只是查询一张表. 在电子商务系统中,查询哪些用户没有购买过产品. 银行中可能查询违规记录,同时查询出用户的 查询中奖信息和中奖人员的基本信息. 以上只是列的情况我们就需要把两张表在一起进行查询. 而上述业务中需要多表联合在一起查询才能有结果,而多表联合查询的本质是:表连接. 表连接 当需要查询多个表中的字段时,就可以使用表连接来实现.表联接分为内连接和外连接. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结. 外连接:会选出其他不匹配的记录

hibernate 多表联合查询

以前用sql实现联合查询 是非常简单的事,只需要写sql语句就可以,第一次遇到hibernate要实现多表联合查询的时候还楞了一下.最后看了下资料,才恍然大悟,hibernate实现多表联合查询跟SQL没多大差别. hibernate很多实现都是靠喜欢配关系,但是如果两张表,数据量都非常大的时候,并不合适配关系. 例如:student表和score表需要做联合查询. 1)sql: select s.id,s.name,sc.score from student as s,score as sc

约束条件 ,表与表之间的关系 和多表联合查询***

一.约束条件    为了确保数据的完整性 可以给列加上约束条件    完整性的分类:        1.实体完整性        2.域完整性        3.引用完整性    1.实体完整性        实体:即表中的一行(一条)记录 代表一个实体 entity        实体完整性的作用:标识每一行数据不重复        约束类型:            1.1 主键约束(primary key)            1.2 唯一约束(unique)            1.3