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

Kecualikan nilai catatan dalam grup jika yang lain ada v2

Anda dapat sedikit memodifikasi jawaban saya sebelumnya dan berakhir dengan ini:

SELECT
  mark,
  sum(amount) AS sum_amount
FROM atable t
WHERE mark <> 'A'
  OR NOT EXISTS (
    SELECT *
    FROM atable
    WHERE id = t.id
      AND mark = 'C'
  )
GROUP BY
  mark
;

Ada demo langsung di SQL Fiddle .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan untuk mendapatkan catatan terbaru dan (jika seri) dengan nilai atau persentase yang lebih tinggi berdasarkan kartu dan layanan

  2. Kecualikan nilai catatan dalam grup jika ada yang lain

  3. ORA-00904 Pengidentifikasi tidak valid” untuk pengidentifikasi dalam grup berdasarkan klausa

  4. Ambil catatan dari kolom tertentu di Oracle

  5. Ubah data Oracle CLOB menjadi string di c #