zoukankan      html  css  js  c++  java
  • 实现数据行转列(数据库必须最低兼容90以上)

    实现数据行转列(数据库必须最低兼容90以上)

    DECLARE @SQLText NVARCHAR(4000)
    SET @SQLText = ''

    DECLARE @ResultColumn_Char VARCHAR(8000)
    SET @ResultColumn_Char = ''

    DECLARE @ResultColumn TABLE
    (
    SerialNo INT IDENTITY ,
    ResultColumn VARCHAR(255)
    )
    INSERT INTO @ResultColumn
    ( ResultColumn )
    SELECT DISTINCT ParameterName
    FROM dbo.tb_ChargeBalanceDetail
    WHERE OperationID = 'Charge_Clinic'

    DECLARE @iCounter INT
    DECLARE @iCounter_max INT
    SELECT @iCounter = MIN(SerialNo),@iCounter_max = MAX(SerialNo) FROM @ResultColumn
    WHILE @iCounter <= @iCounter_max BEGIN
    SELECT @ResultColumn_Char = @ResultColumn_Char + CASE WHEN RTRIM(@ResultColumn_Char) <> '' THEN + ',' ELSE '' END + '[' + ResultColumn + ']' FROM @ResultColumn WHERE SerialNo = @iCounter
    SET @iCounter = @iCounter + 1
    END

    SET @SQLtext ='
    SELECT *
    FROM
    (SELECT ChargeBillID,ParameterName,ParameterValue
    FROM tb_ChargeBalanceDetail WHERE OperationID = ''Charge_Clinic'') p
    PIVOT
    (
    SUM(p.ParameterValue)
    FOR ParameterName IN
    ( ' + @ResultColumn_Char +
    ') AS pvt
    '

    SELECT @SQLText

    --EXEC (@SQLText)


    数据行合并列

    SELECT HospitalID,DiagnosisName = STUFF((SELECT ',' + DiagnosisName FROM dbo.tb_EMR_TRD_DiagnosticRecordsInFormation WHERE HospitalID = T1.HospitalID FOR XML PATH('')),1,1,'')
    FROM dbo.tb_EMR_TRD_DiagnosticRecordsInFormation AS T1

  • 相关阅读:
    python匿名函数lambda用法
    python递归函数
    python中的全局变量与局部变量
    元组,字典,集合
    WKWebView 与 UIWebView
    JSON数组字典解析
    iOS使用Instruments的工具
    CocoaPods Mac App的安装和使用
    Mac环境下svn的使用(转)
    数据存储-- Core Data的使用(二)
  • 原文地址:https://www.cnblogs.com/tanhu/p/7124650.html
Copyright © 2011-2022 走看看