2014-04-23 2 views
0

두 테이블이 공통점이없는 위 쿼리를 고려하십시오. 이것은 검색 스크립트 전용입니다. 두 개의 결합 된 테이블과의 관련성을 유지하려면 어떻게해야합니까? 위 쿼리는 작동하지만 모든 경우에 blog_posts의 결과가 device_specs의 결과 앞에 나타납니다.mysql : union all과 관련성별로 정렬 하시겠습니까?

+0

하위 쿼리를 '순서 지'로 감쌀 수 있습니까? – Peter

답변

2

각 하위 쿼리에 관련성을 추가하려고합니다. 하위 쿼리없이이 작업을 수행 할 수 있습니다.

SELECT id, title, keywords, post, img, 
     NULL as device_id, null as mfgr, null as model, null as img, 
     MATCH(title, desc_meta, keywords_meta, post) AGAINST('boost') as relevance 
FROM blog_posts 
WHERE MATCH(title, desc_meta, keywords_meta, post) AGAINST('boost') > 0 
UNION ALL 
SELECT NULL, NULL, NULL, NULL, id AS device_id, mfgr, model, img, summary, 
     MATCH(mfgr, model, summary) AGAINST('boost') as relevance 
FROM device_specs 
WHERE MATCH(mfgr, model, summary) AGAINST('boost') > 0 
ORDER BY relevance; 
+0

감사합니다 뭉치 친구는, 저를 저장했다 시간, 저를 믿으십시오! – Keezy