亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
汝州市| 玉树县| 遵义县| 清河县| 伊吾县| 石门县| 大名县| 九寨沟县| 建瓯市| 太保市| 永胜县| 扎赉特旗| 蒙自县| 孟连| 保康县| 梁河县| 扬中市| 五指山市| 浙江省| 延津县| 双柏县| 镇坪县| 滦平县| 新巴尔虎右旗| 上杭县| 杭州市| 金华市| 辽中县| 托里县| 民丰县| 淅川县| 宜兴市| 白沙| 钟祥市| 天台县| 陇南市| 贺兰县| 濮阳市| 子长县| 进贤县| 永靖县|