Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Baris ke Lajur dalam DB2 Menggunakan PIVOT (Tersirat)?

Bagaimana untuk Mengubah Baris ke Lajur dalam DB2 Menggunakan PIVOT (Tersirat)?

Mary-Kate Olsen
Lepaskan: 2024-12-30 13:27:16
asal
614 orang telah melayarinya

How to Transpose Rows into Columns in DB2 Using PIVOT (Implicit)?

Memindahkan Struktur Data dengan Pemansi dalam DB2

Tugas memerlukan pemindahan baris ke dalam lajur dalam jadual DB2, mengubah data daripada struktur berikut :

ItemID    Item    Value
---------------------
1     Meeting     Now
1     Advise      Yes
1     NoAdvise    No
2     Meeting     Never
2     Advise      No
2     NoAdvise    Null
2     Combine    Yes
Salin selepas log masuk

ke dalam yang dikehendaki struktur:

ItemID    Meeting  Advise   NoAdvise 
---------------------------------------
1         Now      Yes       No
2         Never    No        Null
Salin selepas log masuk

Untuk mencapai transformasi ini, anda boleh menggunakan pertanyaan SQL yang menggunakan operator PIVOT, yang membolehkan transposisi baris ke dalam lajur berdasarkan medan pengkategorian yang ditentukan. Berikut ialah contoh pertanyaan yang boleh digunakan dalam DB2 LUW:

SELECT 
  A.ItemID,
  MAX(CASE WHEN A.Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN A.Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN A.Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM A
GROUP BY A.ItemID
Salin selepas log masuk

Dalam pertanyaan ini, pengendali PIVOT tidak digunakan secara eksplisit, tetapi ia dicapai secara tersirat melalui penggunaan pernyataan CASE di dalam MAX () fungsi agregat. Pernyataan CASE bertindak sebagai cara untuk mengkategorikan baris dan mengembalikan nilai maksimum untuk setiap kategori. Fungsi agregat MAX() kemudiannya memastikan bahawa nilai maksimum dikembalikan untuk setiap kategori.

Perhatikan bahawa lajur "Gabungkan" tidak disertakan dalam hasil transposed mengikut keperluan. Data yang terhasil akan diubah menjadi lajur seperti yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Baris ke Lajur dalam DB2 Menggunakan PIVOT (Tersirat)?. 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