Ich bin mir nicht sicher, ob ich es richtig verstanden habe
Aber mit
select w.id, w.code, w2.coins_needed, w.power
, wp.age
from wands w
inner join (SELECT code, Min(coins_needed) coins_needed From Wands Group by code) w2
on w.code = w2.code and w.coins_needed = w2.coins_needed
join wands_property wp
on wp.code = w.code and wp.is_evil=0
Sie erhalten
id code coins_needed power age
1 10 100 2 100
3 20 300 3 200
8 40 300 4 400
Dies ist das Ergebnis für alle Zauberstäbe, die das Minimum für jeden Code kosten, der nicht böse ist, ohne ihn zu gruppieren.