Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle SQL -- Mengambil nilai dari beberapa baris

Anda dapat memutar data seperti ini di versi Oracle apa pun.

SELECT id,
       MAX( CASE WHEN key = 'name' THEN value ELSE null END ) name,
       MAX( CASE WHEN key = 'height' THEN value ELSE null END ) height,
       MAX( CASE WHEN key = 'awesomeness' THEN value ELSE null END ) awesomeness
  FROM facts
 WHERE id IN (1,2,3)
 GROUP BY id

Jika Anda menggunakan 11g, Anda juga dapat menggunakan PVOT operator.

Namun, jika ini mewakili model data Anda, model data atribut-entitas semacam itu umumnya akan menjadi agak tidak efisien. Anda biasanya akan jauh lebih baik disajikan dengan tabel yang memiliki kolom untuk name , height , awesomeness , dll.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oci_bind_by_name tidak berfungsi di PHP

  2. Bagaimana cara mendapatkan jumlah orang berdasarkan kelompok usia menggunakan kueri SQL di database Oracle?

  3. Pernyataan SQL untuk Rekonsiliasi

  4. Cara membuat pemicu baris PL/SQL yang memvalidasi kolom dari tabel lain

  5. Instalasi PHP PDO di windows (xampp)