中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

sqlserver行轉列的方法是什么

小億
172
2024-01-23 14:48:14
欄目: 云計算

在SQL Server中,可以使用PIVOT操作將行轉換為列。PIVOT操作可以將唯一值作為列標題,并將行中的值作為新列填充的值。

以下是一些使用PIVOT操作的示例:

  1. 基本的PIVOT操作:
SELECT *
FROM (
   SELECT column1, column2, column3
   FROM table_name
) AS SourceTable
PIVOT (
   MAX(column3) -- 選擇一個聚合函數,例如SUM、COUNT、MAX等
   FOR column1 -- 列標題所在的列
   IN (value1, value2, value3) -- 列標題的唯一值列表
) AS PivotTable;
  1. 使用動態列標題的PIVOT操作:
DECLARE @columnList AS NVARCHAR(MAX);
DECLARE @pivotQuery AS NVARCHAR(MAX);

SELECT @columnList = CONCAT(@columnList, ', ', QUOTENAME(column1))
FROM (
   SELECT DISTINCT column1
   FROM table_name
) AS ColumnListTable;

SET @pivotQuery = CONCAT('
   SELECT *
   FROM (
      SELECT column1, column2, column3
      FROM table_name
   ) AS SourceTable
   PIVOT (
      MAX(column3)
      FOR column1
      IN (', @columnList, ')
   ) AS PivotTable;
');

EXECUTE sp_executesql @pivotQuery;

以上示例中,table_name是要轉換的原始表的名稱,column1是包含列標題的列的名稱,column2column3是要轉換的值的列的名稱。value1, value2, value3是列標題的唯一值列表。

值得注意的是,PIVOT操作是特定于SQL Server的,不適用于所有數據庫管理系統。如果您使用的是其他數據庫,可能需要使用不同的方法來實現行到列的轉換。

0
黄龙县| 万年县| 怀远县| 泰宁县| 兴山县| 毕节市| 沽源县| 武城县| 东莞市| 乌兰察布市| 渭源县| 长春市| 浙江省| 谷城县| 临海市| 蛟河市| 上杭县| 垦利县| 伊金霍洛旗| 勃利县| 临沭县| 凌源市| 伊宁县| 青铜峡市| 禄丰县| 望谟县| 麻城市| 荥阳市| 满城县| 吉隆县| 三门县| 贺州市| 万安县| 黑龙江省| 平谷区| 仲巴县| 津市市| 明星| 徐闻县| 外汇| 章丘市|