CREATE TABLE DEPT
(DeptNo INT IDENTITY(1, 1)NOT NULL ,
 Country VARCHAR(50) ,
 Location VARCHAR(50) NULL
)
 
SET IDENTITY_INSERT DEPT ON
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 1, 'User1', 'A' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 2, 'User1', 'B' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 3, 'User2', 'C' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 4, 'User2', 'D' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 5, 'User2', 'E' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 6, 'User3', 'F' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 7, 'User3', 'G' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 8, 'User3', 'H' )
INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 9, 'User3', 'I' )
SET IDENTITY_INSERT DEPT OFF
--按某一列出结果的
SELECT  B.Country ,LEFT(Location, LEN(Location) - 1) AS list
FROM    ( SELECT    Country ,
                            ( SELECT Location + ',' FROM DEPT WHERE Country = A.Country ORDER BY  DeptNo FOR XML PATH('')
                            ) AS Location
          FROM DEPT A GROUP BY  Country
        ) B

SQL多行变一列的更多相关文章

  1. 【收藏】SQL多行变一列

    CREATE TABLE DEPT (DeptNo INT IDENTITY(1, 1)NOT NULL ,  Country VARCHAR(50) ,  Location VARCHAR(50) ...

  2. Oracle 多行变一列的方法

    多行变一列的方法有很多,觉得这个第一眼看懂了当时就用的这个办法. 情况是这样的.以下数据前几列是一样的,需要把VAT_VALUE_CHAR 的值放在同一行上. SELECT * FROM ps_vat ...

  3. SQL多行转多列

    --★转换结果如上图 1.首先创建表: CREATE TABLE [成绩表]( ,) NOT NULL, )NULL, , )NULL, , )NULL, , )NULL ) ON [PRIMARY] ...

  4. sql 多行转多列,多行转一列合并数据,列转行

    下面又是一种详解:

  5. sql多行合并一列

    with a as( select * from( select 1 userId , '天津' province union select 1 userId , '北京' union select ...

  6. mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

    数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ...

  7. MYSQL 多行转多列

    mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行),我觉得这都是一个意思 数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一 ...

  8. Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)

    原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...

  9. mysql 中实现行变列

    前言: mysql行列变化,最难的就是将多个列变成多行,使用的比较多的是统计学中行变列,列变行,没有找到现成的函数或者语句,所以自己写了存储过程,使用动态sql来实现,应用业务场景,用户每个月都有使用 ...

随机推荐

  1. 1923. Scary Politics (timus) (dfs) search

    http://acm.timus.ru/problem.aspx?space=1&num=1923 -- timus This is s problem about thd dfs and s ...

  2. IOS 拼接按钮文字

    NSMutableString *tempAnswerTitle=[[NSMutableString alloc]init]; for(UIButton *answerBtn in self.answ ...

  3. Android(java)学习笔记61:Android中的 Application类用法

    1. 简介 如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型:而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就 ...

  4. arraylist,list ,数组区别

    https://www.cnblogs.com/a164266729/p/4561651.html

  5. 安装gcc,g++

    安装gcc.g++ sudo apt-get install make gcc g++ 查看g++版本 g++ --version

  6. JS动画与CSS3动画

    Js动画 show / hide var div = $('#test-show-hide'); div.show('slow'); // 在0.6秒钟内逐渐显示 div.hide(3000); // ...

  7. Java分享笔记:Map集合(接口)的基本方法程序演示

    package pack02; import java.util.*; public class MapDemo { public static void main(String[] args) { ...

  8. spring-AspectJ

    动态代理 ProxyFactoryBean织入切面数量太多不利于围护 BeanNameAutoProxyCreater-------------根据Bean名称创建代理 DefaultAdvisorA ...

  9. Linux apt & yum 及 常用命令

    yum yum 语法 yum [options] [command] [package ...] options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes" ...

  10. python_字符串_常用处理

    1. 输出原序列的反向互补序列 in1 = open("brca1.fasta", "r") out1 = open("re_brca1.fasta& ...