sql >> Database >  >> RDS >> Oracle

Waarde van een record in een groep uitsluiten als een andere aanwezig is v2

Je zou iets kunnen aanpassen mijn vorige antwoord en eindigen met dit:

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
;

Er is een live demo op SQL Fiddle .



  1. Hoe krijg ik een lijst van alle tabellen in een database met TSQL?

  2. SQL IN-clausule - krijg IN-elementen terug die niet overeenkwamen

  3. Maak verbinding met SphinxQL via de Linux-opdrachtregel

  4. MySQL waarom cursor.execute(sql, multi=True) niet werkt, maar 2 cursor.execute(sql) wel?