2011-09-20 2 views
0

MySQL 테이블의 구조가 바뀌기 때문에 (변경 제어 권한이 없음) 달성하고자하는 최선의 해결책은 결과는 문자열 길이가 짧습니다. ,문자열 길이가 적은 INNER JOIN 및 SELECT

SELECT cpc 
FROM cpc_options 
INNER JOIN cpc_targets 
WHERE targeted_name like '%country%' AND target_id = cpc_id 

은 기본적으로 국가와 테이블 ID 및 클릭당 비용 (CPC) 또 다른 하나가 그래서 모두 나는 국가의 클릭당 비용 (CPC)을 얻을 수 있습니다 가입 : 이것은 내 현재 쿼리입니다. 나는 내가이있는 targeted_name을 선택해야한다고 생각

... 미국, 미국과 기타, 등 : 그러나, 예를 들어 미국은 다른 이름으로, 첫 번째 테이블에서 여러 번 나타납니다 작은 문자열 길이 ... 위 질문에 어떻게 추가 할 수 있습니까?

답변

1

targeted_name의 길이에 의해 주문 1 개 결과에 제한 :

SELECT cpc 
FROM cpc_options 
INNER JOIN cpc_targets 
WHERE targeted_name like '%country%' AND target_id = cpc_id 
ORDER by LENGTH(targeted_name) asc limit 1; 
+1

결과 세트가 한 행이있는 경우, 그러나 더있다하지 않을 때 작동합니다. –

관련 문제