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

SQL:Cara menambahkan nilai menurut kolom indeks

Jika kita hanya mengasumsikan 1 tingkat hierarki. Jika beberapa tingkat hierarki ini menjadi lebih menarik.

SELECT A.Value+coalesce(B.Value,0) as Value
     , A.Position
     , A.Relates_to_Position
     , A.Type
FROM Table A
LEFT JOIN Table B
  on B.Relates_To_Position = A.Position
WHERE A. Relate_to_Position is null

Apa yang dilakukan adalah bergabung sendiri sehingga menempatkan catatan terkait pada baris yang sama. kemudian hilangkan semua record tersebut dengan nilai dalam related_to_position karena akan ditambahkan ke baris induk.

kami menggunakan gabungan KIRI karena tidak semua catatan akan memiliki nilai terkait dan kami menggunakan penggabungan untuk memastikan nol tidak dicoba untuk ditambahkan. (gabungan mengambil nilai non-null pertama)

Tidak yakin mengapa Anda harus mengembalikan relation_To_Position karena akan SELALU menjadi null..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah EF6 menghasilkan objek model saya dari kursor ref yang dikembalikan oleh prosedur tersimpan Oracle?

  2. Bagaimana Driver ODBC Oracle Anda Memuat Klien Oracle?

  3. Fungsi JSON_QUERY() di Oracle

  4. Ulangi nilai yang telah ditentukan sebelumnya

  5. sql (Oracle) untuk memilih 10 catatan pertama, lalu 10 berikutnya, dan seterusnya