2011-08-13 2 views
0

해당 열 source 위에 행을 주문해야합니다. 여기알파벳순으로 mysql-query를 주문하면 숫자에 문자열이 주어 집니까?

+---+-------+-----+ 
|id |source |foo | 
+---+-------+-----+ 
|1 |5  |hey | 
|2 |7  |yo | 
+---+-------+-----+ 

그리고 소스은 다음과 같습니다 : 그러나, 여기 (간체) 내가 쿼리하고 테이블입니다

+---+-------+ 
|id |name | 
+---+-------+ 
|5 |First | 
|7 |Awesome| 
+---+-------+ 

을 지금, 나는이 같은 쿼리를 사용하는 경우 :

SELECT * FROM table ORDER BY source 

합니다. 결과는 소스의 ID가 아니라 실제 이름으로 정렬됩니다. PHP로 결과를 간단하게 정렬 할 수 있지만 가능한 경우 SQL 솔루션을 찾고 있습니다.

도움이 될 것입니다! 당신이 너무 좋아, 함께 테이블에 가입해야처럼

답변

2

는 소리 :

SELECT * FROM table, sources WHERE table.source = sources.id ORDER BY sources.name 

을 테이블이 소스라고 당신의 소스를 가정 나는 그것이 무엇을 내가 확실히 이해하지 확신

0

... 그 mysql이 결과를 정렬하는 방법에 대해 놀랍다. 그러나 결과를 알파벳 순서로 정렬하려면 소스가 정수가 아니기 때문에 소스가 아닌 이름으로 정렬해야한다.

+0

놀랍지 만 나는 Chris가 언급 한 방법을 알지 못했습니다. –

+0

이것은 단순한 암시 적 조인입니다. 자세한 내용은 http://en.wikipedia.org/wiki/Join_%28SQL%29에서 확인할 수 있습니다. –

관련 문제