You’re not doing a self-join. You’re just trying to do a select, and the where cancels itself out.
You can try doing something like this.
SELECT SUM(CASE WHEN p.p_l >=0 THEN p.p_l ELSE 0 END) AS TotalProfit
, SUM(CASE WHEN p.p_l < 0 THEN p.p_l ELSE 0 END) AS TotalLoss
FROM stocks
If you want to break down the profit/losses by stock, you’d have to add additional fields to the query
SELECT stock
, SUM(CASE WHEN p.p_l >=0 THEN p.p_l ELSE 0 END) AS TotalProfit
, SUM(CASE WHEN p.p_l < 0 THEN p.p_l ELSE 0 END) AS TotalLoss
FROM stocks
GROUP BY stock
Amazing. It Works,
How can I achieve your level of knowledge?
I tried to chane your code so that it counts the successful trades and faile trades by replacing sun with count, I got er.ror
I changed it to
SELECT stock
, (CASE WHEN p.p_l >=0 THEN COUNT(p.p_l) ELSE 0 END) AS TotalProfit
, (CASE WHEN p.p_l < 0 THEN COUNT(p.p_l) ELSE 0 END) AS TotalLoss
FROM stocks
GROUP BY stock