how to run awk twice across the same file
I would use two arrays:
awk -F, '{a[$0]=$2;if($3=="win")b[$2]++}END{for(i in a){if(b[a[i]])print i}}'
Is there a more elegant way to do this?
Yes, of course there is. Just run Awk twice across the same file (as you said in your title).
awk -F, '$3=="win"{won[$2]} FNR==NR{next} $2 in won' log.csv log.csv