Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordenando o resultado da consulta por campo de uma tabela diferente (MySQL)


Se entendi corretamente, você usaria 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');

Como nota:se você estiver fazendo para armazenar datas em strings, use o formato padrão ISO YYYY-MM-DD. Se você usou este formato, o str_to_date() seria desnecessário, porque uma ordenação alfabética da representação de string estaria correta.

Além disso, se não houver correspondência no werte table, então você deve usar left join em vez de inner join . O acima pressupõe que há uma correspondência (ou você deseja apenas linhas que tenham uma data).