Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Data dalam SQL Server 2000 Tanpa SQL Dinamik?

Bagaimana untuk Mengubah Data dalam SQL Server 2000 Tanpa SQL Dinamik?

Patricia Arquette
Lepaskan: 2025-01-03 00:08:38
asal
639 orang telah melayarinya

How to Pivot Data in SQL Server 2000 Without Dynamic SQL?

Cara Mengubah Data dalam SQL Server 2000

Menghadapi cabaran mengubah data anda kepada format yang lebih berstruktur pangsi menggunakan SQL Server 2000 ? Mari kita mendalami penyelesaian yang mengelakkan perangkap SQL dinamik dan pendekatan yang tidak berkesan, memastikan ketepatan dan kecekapan dalam manipulasi data anda.

Memahami Masalah

Bayangkan anda mempunyai dua jadual: Produk yang mengandungi maklumat produk dan Meta Produk menyediakan metadata tambahan untuk setiap produk. Matlamat anda adalah untuk mencipta set hasil yang memaksi data untuk membentangkannya dalam format jadual, memaparkan nama produk bersama-sama dengan nilai metadata yang sepadan.

Penyelesaian

Untuk mencapai transformasi ini, kami akan menggunakan ungkapan CASE bersama-sama dengan fungsi agregat dalam GROUP BY klausa:

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

Penjelasan

  • Ekspresi CASE menilai lajur MetaKey dalam jadual Meta Produk dan mengembalikan MetaValue yang sepadan jika kunci sepadan dengan yang ditentukan keadaan (A, B atau C).
  • Fungsi agregat MIN digunakan pada setiap ungkapan CASE untuk pastikan hanya nilai terkecil diambil untuk setiap ID produk.
  • Klausa GROUP BY mengumpulkan hasil mengikut lajur ProductId dan Name, memastikan nilai agregat dikaitkan dengan produk yang betul.

Dengan menggunakan pendekatan ini, anda boleh memutar data anda dengan berkesan dalam SQL Server 2000, mengelakkan pengehadan SQL dinamik dan menghasilkan set hasil yang bersih dan boleh digunakan yang memenuhi keperluan transformasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Data dalam SQL Server 2000 Tanpa SQL Dinamik?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan