Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Pivot Data dalam SQL Server 2000 Menggunakan Pengagregatan Bersyarat?

Bagaimana untuk Pivot Data dalam SQL Server 2000 Menggunakan Pengagregatan Bersyarat?

DDD
Lepaskan: 2025-01-01 12:35:12
asal
164 orang telah melayarinya

How to Pivot Data in SQL Server 2000 Using Conditional Aggregation?

Memindahkan Data dalam SQL Server 2000

Data Pivoting merujuk kepada proses menukar set data daripada format menegak, berorientasikan lajur kepada mendatar, format berorientasikan baris. Dalam erti kata lain, ia membolehkan anda memutarkan data dalam jadual supaya lajur menjadi baris dan sebaliknya.

Pertimbangkan dua jadual berikut:

  • Produk

    ProductId Name
    1 Product A
    2 Product B
  • Produk Meta

    ProductId MetaKey MetaValue
    1 A Value A for Product A
    1 B Value B for Product A
    1 C Value C for Product A
    2 A Value A for Product B
    2 B Value B for Product B
    2 C Value C for Product B

Anda ingin mendapatkan set hasil yang memaparkan nama produk sebagai baris dan kunci meta sebagai lajur, dengan nilai meta yang sepadan dalam setiap sel:

ProductName Meta A Meta B Meta C
Product A Value A for Product A Value B for Product A Value C for Product A
Product B Value A for Product B Value B for Product B Value C for Product B

Untuk mencapai pangsi ini, anda boleh menggunakan gabungan pengagregatan bersyarat dan pernyataan CASE dalam SELECT pernyataan:

SELECT
    P.ProductId,
    P.Name,
    MIN(CASE WHEN PM.MetaKey = 'A' THEN PM.MetaValue END) AS MetaA,
    MIN(CASE WHEN PM.MetaKey = 'B' THEN PM.MetaValue END) AS MetaB,
    MIN(CASE WHEN PM.MetaKey = 'C' THEN PM.MetaValue END) AS MetaC
FROM
    Products AS P
INNER JOIN
    ProductMeta AS PM
    ON PM.ProductId = P.ProductId
GROUP BY
    P.ProductId,
    P.Name;
Salin selepas log masuk

Pertanyaan ini akan mengumpulkan baris dengan betul mengikut ID dan nama produk serta mendapatkan semula nilai meta yang diingini untuk setiap kunci.

Atas ialah kandungan terperinci Bagaimana untuk Pivot Data dalam SQL Server 2000 Menggunakan Pengagregatan Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan