Hvis jeg forstår det rigtigt, ville du bruge join :
select f.*
from folders f join
werte w
on w.folder_id = f.id
where w.number = 2
order by f.approved, str_to_date(werte, '%d.%m.%Y');
Som en note:hvis du laver for at gemme datoer i strenge, så brug ISO-standardformatet ÅÅÅÅ-MM-DD. Hvis du brugte dette format, vil str_to_date() ville være unødvendigt, fordi en alfabetisk rækkefølge af strengrepræsentationen ville være korrekt.
Også, hvis der muligvis ikke er et match i werte tabel, så skal du bruge left join i stedet for inner join . Ovenstående forudsætter, at der er et match (eller du vil kun have rækker, der har en dato).