Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Loại trừ giá trị của bản ghi trong một nhóm nếu có bản ghi khác v2

Bạn có thể sửa đổi một chút câu trả lời trước đây của tôi và kết thúc với điều này:

Dấu
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
;

Có một bản trình diễn trực tiếp tại 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. Hàm SIGN () trong Oracle

  2. Chuyển đổi hàng mới sang XML bên trong Trình kích hoạt Oracle

  3. Bỏ ràng buộc với ký tự đặc biệt trong Oracle

  4. Lỗi ORA-00942 đang tạo ra khi tạo chế độ xem

  5. LISTAGG nối kỳ lạ