SQL数据库查询一列数据返回一行

SQL:数据库
合并列数据:
遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回
用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下
Id Name Age Classify
1 张一 18 一班
2 张二 17 二班
3 张三 19 三班
->SQL语句
SELECT distinct Classify=STUFF((SELECT distinct ‘,‘+ Classify FROM u_College FOR XML PATH(‘‘)),1,1,‘‘) FROM u_College t GROUP BY t.Classify;
->结果就是
返回一个string
一班,二班,三班
补充 这个函数的其他用处
->SELECT STUFF(‘abcdef‘, 2, 3, ‘ijklmn‘);
GO
->返回
aijklmnef
->意思就是 (下表从零开始)
删除第二个字符(b)开始的三个字符(bcd) 插入一个字符(ijklmn) 返回新组成的字符(aijklmnef)
END;

原文地址:https://www.cnblogs.com/CurtilageBoy/p/8981990.html

时间: 2024-08-13 18:44:01

SQL数据库查询一列数据返回一行的相关文章

SQL数据库查询方法

SQL数据库查询方法 简单查询: 一.投影 select * from 表名 select 列1,列2... from 表名 select distinct 列名 from 表名 二.筛选 select top 数字 列|* from 表名 (一)等值与不等值 select * from 表名 where 列名=值 select * from 表名 where 列名!=值 select * from 表名 where 列名>值 select * from 表名 where 列名<值 selec

sql语句查询重复的数据

查找所有重复标题的记录:SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC一.查找重复记录1.查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)2.过滤重复记录(只显示一条)Select * From HZT Whe

SQL数据库同步工具(开辟数据同步工具)2.0 中文免费版

SQL数据库同步工具(开辟数据同步工具)本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式.这样设计的目的是为了减轻服务器的压力,让系统更加流畅. 本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式.这样设计的目的是为了减轻服务器的压力,让系统更加流畅. 客户端负责采集分布数据库中的数据,然后汇总到服务器.客户端需要配

sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

问题描述:在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数是超过1000行的,造成数据行数的不一致. 问题重现:字段值包含char(10)换行符,复制字段值到Excel. 根源:某些行列对应单元格包含了换行符,导致复制到Excel里面发生错位. 解决方案:方案1(推荐):把有问题的字段值,用英文双引号括起来,这样就能把字段值里面的换行符限制在正确的Exce

查询多列数据时用这种方法查询

1 private void cbbType_SelectedIndexChanged(object sender, EventArgs e) 2 { 3 //清空DN列 4 cbbDn.Items.Clear(); 5 //字段清除 6 FieldListSaddle.Clear(); 7 //加入字段 8 FieldListSaddle.Add("Baojiao,Drawing,Table,Ribs,Type1,HasPad"); 9 //定义查询条件 10 string wher

sql语句查询月份的数据

在实际项目中,经常需要按月查询数据,在这里把我用到的sql整理一下,以便日后查看. 例如,查询当月的数据 select * from T_User where convert(varchar(6),addtime,112)=convert(varchar(6),getdate(),112) 查询结果: 查询上月的数据,需要用另一个sql函数,dateadd,具体如下 select * from T_User where convert(varchar(6),addtime,112)=conver

使用SQL语句查询Elasticsearch索引数据

Elasticsearch 的官方查询语言是 Query DSL,存在毕竟有存在的道理,存在即合理.SQL 作为一个数据库查询语言,它语法简洁,书写方便而且大部分服务端程序员都清楚了解和熟知它的写法.但是作为一个 ES 萌新来说,就算他已经是一位编程界的老江湖,但是如果他不熟悉 ES ,那么他如果要使用公司已经搭好的 ES 服务,他必须要先学习 Query DSL,学习成本也是一项影响技术开发进度的因素而且不稳定性高.但是如果 ES 查询支持 SQL的话,那么也许就算他是工作一两年的同学,他虽然

Sql语句查询某列A相同值的另一列B最大值的数据

问题描述: 有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号). 现在的表数据是这样的,FileName字段的名称可能有一样的(重复的),但是重复的时候,它们对应的FileVer不一样. 查询结果: 要求查询出FileName字段重复时,FileVer值最大的所有数据. SQL语句如下: 1 SELECT * 2 FROM( 3 SELECT *,ROW_NUMBER() OVER(PARTITION BY FileName ORDE

MySql数据库-查询、插入数据时转义函数的使用

最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作.虽然能看到转义函数本身的作用,但是仍然有一些疑惑. 疑惑一:当转义数据后,数据中会增加一些反斜杠,为了能查找出对应的数据,那么原来存在数据库中的数据是不是也已经被保存成含有反斜杠的了? 疑惑二:转义数据后再向数据库中插入数据,保存在数据库中的数据是否会含有过滤后的反斜杠? 带着这些疑问对用户提交的表单进行测试. echo get_magic_