具有较少字符串长度的INNER JOIN和SELECT字段

时间:2011-09-20 11:49:38

标签: mysql

由于MySQL表的结构不好(我无法控制更改),我认为我想要实现的最佳解决方案是使用较少字符串长度的结果。这是我目前的查询:

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 个答案:

答案 0 :(得分:1)

按target_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;