2015-01-20 4 views
2

에 존재하는 경우 내가 두 테이블MySQL의 : 열을 기준으로 주문 다른 테이블

  1. users (아이디, 이름, 위치, 유형 등)
  2. onlineusers (아이디, 상태 등)

모든 users 유형을 = 'sometype'으로 지정하고이 users을 오름차순으로 정렬하고 싶지만 을 먼저 입력하십시오. 모든 사용자는 onlineusers 테이블에 존재합니다. 테이블에 onlineusers 테이블.

나는 모든 온라인 사용자를 먼저 관리했지만 오름차순이 아닙니다.

이 내가없는 온라인 0 (거짓)가있는 경우 사용자를위한

SELECT * FROM users u 
LEFT JOIN onlineusers o on u.userID = o.userID 
where u.type = 'sometype' 
order by IFNULL(o.userID,9999) desc; 

감사

답변

3
SELECT * 
FROM users u 
LEFT JOIN onlineusers o on u.userID = o.userID 
where u.type = 'sometype' 
order by o.userID is null, 
     u.userID 

o.userID is null 반환 1 (true)를 시도하는 것이다. 이 2 가지 값으로 주문할 수 있습니다.

+0

작동 ... 도움을 주셔서 감사합니다 :) –

관련 문제