Jeśli dobrze rozumiem, użyjesz 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');
Uwaga:jeśli chcesz przechowywać daty w ciągach, użyj standardowego formatu ISO RRRR-MM-DD. Jeśli użyłeś tego formatu, str_to_date()
byłoby niepotrzebne, ponieważ kolejność alfabetyczna reprezentacji ciągu byłaby poprawna.
Ponadto, jeśli może nie być dopasowania w werte
tabeli, powinieneś użyć left join
zamiast inner join
. Powyższe zakłada, że istnieje dopasowanie (lub chcesz tylko wiersze, które mają datę).