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. vertical-align和line-height的深入应用

    vertical-align和line-height的深入应用 本文的重点是了解vertical-align和line-height的使用 涉及到的名词:基线,底端,行内框,行框,行间距,替换元素及非 ...

  2. Delphi APP 開發入門(七)通知與雲端推播

    Delphi APP 開發入門(七)通知與雲端推播 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數: ...

  3. Python中i = i + 1与i + = 1的区别

    +=是对原本的实例做加1运算,l=l+[1]是对l+[1]之后重新把值赋给叫l的变量(和原来的l不同) 区别在于,一个修改数据结构本身(就地操作)b + = 1而另一个只是重新分配变量a = a + ...

  4. Laravel 文档中的 Service Providers

    $this->app->singleton('ReportServices', function () { return new \App\Services\ReportServices( ...

  5. ZOJ - 4048 Red Black Tree (LCA+贪心) The 2018 ACM-ICPC Asia Qingdao Regional Contest, Online

    题意:一棵树上有m个红色结点,树的边有权值.q次查询,每次给出k个点,每次查询有且只有一次机会将n个点中任意一个点染红,令k个点中距离红色祖先距离最大的那个点的距离最小化.q次查询相互独立. 分析:数 ...

  6. BZOJ 2301 Problem b (莫比乌斯反演+容斥)

    这道题和 HDU-1695不同的是,a,c不一定是1了.还是莫比乌斯的套路,加上容斥求结果. 设\(F(n,m,k)\)为满足\(gcd(i,j)=k(1\leq i\leq n,1\leq j\le ...

  7. 基于Python操作redis介绍

    (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 毕业前的最后一个学期(2016.03),龙哥结婚了.可是总有些人喜欢嘲笑别人,调侃我.当时我就理直气壮的告诉他们,等龙哥孩子 ...

  8. windows7上安装php7和apche2.4

    windows7在配置php7+apache2.4 1.下载并安装vc14http://www.microsoft.com/zh-cn/download/details.aspx?id=48145下载 ...

  9. @RequestMapping @SessionAttributes @ModelAttribute注解用法

    简介: @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestM ...

  10. 某Facebook工程师写的攻略。

    Chapter 1 Interesting read, but you can skip it. Chapter 2 2.1 Insertion Sort - To be honest you sho ...