2013-04-25 1 views
0

내 웹 사이트는 일종의 사전입니다. 키워드를 검색 할 때 '단어'와 '의미'열을 모두보고 단어 또는 의미와 일치하는 모든 것을 표시하고 싶습니다.mergql에서 별개의 병합 선택 결과 각 결과의 순서 유지

select count(id) words where word like @keyword or meaning like @keyword 
select * from words where word like @keyword or meaning like @keyword order by word 

하지만 일치하는 단어와 일치하는 의미를 먼저 표시하고 싶습니다. 순서가 정확하지 내가 그들을 분리 할 때

:이

(키워드는 두 단어의 의미를 일치) 중복은이 방법

select count(id) words where word like @keyword 
select * from words where word like @keyword order by word 
select count(id) words where meaning like @keyword 
select * from words where meaning like @keyword order by word 

때 노조 그들을 다시 순서는하지 않습니다 올바른지

어떻게이 작업을 수행 할 수 있습니까? 나는 뚜렷한 매칭 결과 + 뚜렷한 매칭 결과 자체를 필요로하지만, 먼저 매칭되는 단어를 표시하고이어서 일치하는 의미를 보여줍니다.

select * 
from words 
where word like @keyword or meaning like @keyword 
order by 
     case when word like @keyword then 0 else 1 end 
     , word 
:이 단어에 일치하는 때

답변

1

구별하는 조항하여 주문의 경우 문을 사용하여