Comment returnner un seul résultat de la table SQL?

J'ai la table de database suivante:

LNr OrderNr Ident Amount 1 128 3 123.00 2 128 14 200.00 3 1290 3 300.00 4 13400 3 637.00 

Je veux calculer la sum des champs- AmountIdent est égal à 3, mais pas à 14 en même time. Je veux donc que le server de database returnne uniquement les numéros de ligne 3 et 4 (où OrderNr = 1290 et 13400).

J'ai essayé:

 SELECT SUM(Amount) FROM table WHERE Ident = '3' 

Mais cela ne marche pas bien sûr, car cela renvoie aussi la ligne 1 (que je ne veux pas car Ident est égal à 14). J'ai essayé d'autres questions, mais en vain.

Vous pouvez append une autre condition not exists :

 SELECT SUM(Amount) FROM mytable x WHERE Ident = 3 AND NOT EXISTS (SELECT * FROM mytable y WHERE x.OrderNr = y.OrderNr AND y.Ident = 14) 

La seule façon d'y parvenir est de qualifier davantage votre clause WHERE, soit en excluant la ligne 1, soit en incluant uniquement les lignes 3 et 4. Vous avez besoin d'un filtrage supplémentaire. Il doit y avoir d'autres tables jointes à cette table qui devraient vous permettre de filterr gracieusement en fonction des règles de gestion que vous avez définies.

Ou vous pouvez le faire en utilisant not in

 SELECT SUM(Amount) FROM mytable WHERE Ident=3 AND OrderNr NOT IN (SELECT OrderNr FROM mytable WHERE Ident=14)