zoukankan      html  css  js  c++  java
  • 行合并

    [MSSQL] Row Merge, 여러 Row 합치기

    - 여러개의 Row로 된 데이터를 각 키마다 묶어 하나로 보일때 사용

    1. 기초자료

    1. CREATE  TABLE   #TEMP1  
    2. (  
    3.     Code        INT,  
    4.     VALUE       VARCHAR(100)  
    5. )  
    6.   
    7. INSERT INTO #TEMP1 (Code,Value) VALUES ( 1, '나는' )  
    8. INSERT INTO #TEMP1 (Code,Value) VALUES ( 1, '프로그램이' )  
    9. INSERT INTO #TEMP1 (Code,Value) VALUES ( 1, '좋다' )  
    10.   
    11. INSERT INTO #TEMP1 (Code,Value) VALUES ( 2, '너도' )  
    12. INSERT INTO #TEMP1 (Code,Value) VALUES ( 2, '프로그램이' )  
    13. INSERT INTO #TEMP1 (Code,Value) VALUES ( 2, '좋냐?' )  

    2. FOR XML 사용

    1. --- element 가 붙음 ---  
    2. SELECT  Value  
    3. FROM    #TEMP1  
    4. FOR XML PATH('')  
    5.   
    6. --- element 가 안 붙음 결과 (컬럼을 변형하여 명을 지정안함) ---  
    7. SELECT  Value + ' '  
    8. FROM    #TEMP1  
    9. FOR XML PATH('')  

     < element 가 붙음 결과 >

     < element 가 안 붙음 결과 (컬럼을 변형하여 명을 지정안함)>

    3. Column SubQueyr 이용

    1. SELECT  Code,(  
    2.             SELECT  Value + ' '   
    3.             FROM    #TEMP1  
    4.             WHERE   Code    = A.Code  
    5.             FOR XML PATH('')  
    6.             )  
    7. FROM    #TEMP1 A  

    4. DISTINCT 사용

    1. SELECT  DISTINCT Code,(  
    2.             SELECT  Value + ' '   
    3.             FROM    #TEMP1  
    4.             WHERE   Code    = A.Code  
    5.             FOR XML PATH('')  
    6.             )  
    7. FROM    #TEMP1 A  

    5. 끝의 스페이스 문자 ' '를 없애기 위해 Stuff 또는 SUBSTRING 등 문자열 함수 사용

  • 相关阅读:
    nginx公网IP无法访问浏览器
    Internet接入方式
    Adobe Photoshop Lightroom 5.3和序列号
    getopt
    printf
    scanf
    cycling -avoid the vicious cycle
    ACE handle_timeout 事件重入
    Linux查看程序端口占用
    The GNU C Library
  • 原文地址:https://www.cnblogs.com/ok519/p/3850793.html
Copyright © 2011-2022 走看看