다른 테이블 순서 ASC 또는 DESC에서 쿼리 한 값을 기반으로합니다.CASE 순서에 따라 MySQL ORDER BY ASC 또는 DESC
그래서 이런 일이 :
SELECT *
FROM table
ORDER BY
CASE (SELECT sorting from table2 WHERE table2.id = ?)
WHEN 1 THEN table.date ASC END
WHEN 0 THEN table.date DESC END
END
MySQL을 사용할 수 아무것도 같은가요?
내가 MS-SQL 서버에 대한 몇 가지 솔루션을 본 적이 : how to order 2 SQL Fields in asc and desc dynamically
편집을 : 난 그냥 고정 설명에 실수를 보았다.
이것은 정확하지 않습니다. 다른 필드로 다른 테이블을 정렬하려고합니다. 질문에서 알 수 있듯이 필드 정렬 값은 0 또는 1이므로 정렬 또는 정렬하여 정렬하는 것은 쓸모가 없습니다 –
이것은 실제로 작동합니다! 날짜를 변환 할 수 있습니다. 문제 없습니다. – Sam
아니요, 필드의 값은 실제로 0 * 1이 아닌 * 날짜 * 값이므로이 방법이 유용 할 수 있습니다. 창조적 인 out-of-the-box 대안의 경우 +1. –