91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
广平县| 靖西县| 合川市| 平顶山市| 南木林县| 晋中市| 四子王旗| 韶山市| 兴宁市| 合川市| 新田县| 汉寿县| 义乌市| 景谷| 凤庆县| 茶陵县| 鹤岗市| 舟曲县| 东阳市| 色达县| 内丘县| 宝清县| 唐河县| 天祝| 谢通门县| 大港区| 通河县| 桦南县| 望奎县| 苍山县| 南阳市| 永州市| 北安市| 邯郸县| 昌宁县| 广州市| 桑植县| 绥棱县| 科技| 庄浪县| 牡丹江市|