sql >> Databáze >  >> RDS >> Oracle

Vyloučit hodnotu záznamu ve skupině, pokud je přítomen jiný v2

Můžete mírně upravit moje předchozí odpověď a skončit s tímto:

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
;

K dispozici je živé demo na SQL Fiddle .



  1. Heslo salt -- Dělám to správně?

  2. SQL INSERT...SELECT s automatickým přírůstkem DATETIME

  3. Změna pořadí MySQL 5.1 až 5.7 Již nefunguje

  4. Jak Cotd() funguje v PostgreSQL