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).