Om jag förstår det rätt skulle du använda 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 notering:om du håller på att lagra datum i strängar, använd då ISO-standardformatet ÅÅÅÅ-MM-DD. Om du använde detta format, str_to_date() skulle vara onödigt, eftersom en alfabetisk ordning av strängrepresentationen skulle vara korrekt.
Dessutom, om det kanske inte finns en matchning i werte tabell, så ska du använda left join istället för inner join . Ovanstående förutsätter att det finns en matchning (eller så vill du bara ha rader som har ett datum).