-2
votes

Groupement SQL avec plusieurs critères de colonne

J'ai une table comme ci-dessous. Giviverid et Takerid sont à la fois des clés étrangères d'une autre table, disent la table de la personne. Giviverid et Takerid ne seront pas les mêmes dans une rangée.

PersonID     TotalAmount
       1             100
       2             200
       3            -300


2 commentaires

Votre question est trop difficile


Est-ce que ce résultat souhaité correspondre vraiment aux données de la table d'échantillons? Décrivez comment vous calculez chaque valeur totaleTamount.


3 Réponses :


0
votes

Essayez ceci- xxx

sortie est - xxx


0 commentaires

2
votes
1 100 
2 200 
3 -300

0 commentaires

0
votes

Si vous vouliez tous les gens em> - pas seulement ceux qui sont dans la table - alors vous pouvez essayer:

select p.*,
       (select sum(case when p.PersonId = t.GiverPersonID then t.amount else - t.amount end)
        from t
        where p.PersonId in (t.GiverPersonID, t.takerPersonID)
       ) as net_amount
from persons;


0 commentaires