Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Pivot Jadual T-SQL Tanpa Menggunakan Fungsi Agregat?

Bagaimana untuk Pivot Jadual T-SQL Tanpa Menggunakan Fungsi Agregat?

Susan Sarandon
Lepaskan: 2025-01-20 09:57:09
asal
803 orang telah melayarinya

How to Pivot a T-SQL Table Without Using Aggregate Functions?

T-SQL Pivot: Tiada Fungsi Pengagregatan Diperlukan

Dalam sesetengah kes, anda mungkin perlu menukar data dalam jadual kepada format pangsi tanpa menggunakan fungsi agregat seperti SUM atau COUNT. Contoh ini menunjukkan cara unik untuk menggunakan operator PIVOT apabila fungsi agregat tidak diperlukan.

Andaikan terdapat jadual sumber yang mengandungi maklumat pelanggan:

CustomerID DBColumnName Data
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009

Output sasaran ialah jadual pangsi yang menunjukkan maklumat pelanggan dalam lajur berasingan:

CustomerID FirstName MiddleName LastName Date
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009

Untuk mencapai ini tanpa menggunakan fungsi agregat, anda boleh menggunakan pertanyaan T-SQL berikut:

<code class="language-sql">SELECT CustomerID,
       MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName,
       MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date
  FROM table
 GROUP BY CustomerId;</code>
Salin selepas log masuk

Pertanyaan ini menggunakan fungsi MIN dalam pernyataan CASE untuk memilih nilai minimum bagi setiap lajur berdasarkan DBColumnName. Klausa "GROUP BY" digunakan untuk mengumpulkan hasil mengikut CustomerID.

Walaupun pendekatan ini mungkin kelihatan sukar digunakan dan tidak cekap berbanding dengan menggunakan fungsi agregat, ia boleh memberikan fleksibiliti yang lebih besar dalam situasi tertentu di mana fungsi agregat tidak sesuai (seperti apabila berurusan dengan nilai unik atau berbeza) seks. Pastikan anda menilai keperluan khusus pertanyaan anda dan pilih pendekatan yang paling sesuai untuk situasi yang diberikan.

Atas ialah kandungan terperinci Bagaimana untuk Pivot Jadual T-SQL Tanpa Menggunakan Fungsi Agregat?. 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