Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sortieren des Abfrageergebnisses nach Feld aus einer anderen Tabelle (MySQL)

Wenn ich das richtig verstehe, würden Sie join verwenden :

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');

Hinweis:Wenn Sie Datumsangaben in Zeichenfolgen speichern möchten, verwenden Sie das ISO-Standardformat YYYY-MM-DD. Wenn Sie dieses Format verwendet haben, wird str_to_date() wäre unnötig, da eine alphabetische Reihenfolge der String-Darstellung korrekt wäre.

Auch, wenn es eventuell keine Übereinstimmung in den werte gibt Tabelle, dann sollten Sie left join verwenden anstelle von inner join . Oben wird davon ausgegangen, dass es eine Übereinstimmung gibt (oder Sie möchten nur Zeilen mit einem Datum).