如何用这个表结构从MySQL实现结果?

时间:2015-12-10 14:43:44

标签: php mysql

我有一个看起来像这样的表:

id  content_id  fields_id   value_int   value_string    value_decimal

351 3           1                       204 
352 3           2                       Western Cape    
353 3           3                       Cape Town   

365 4           1                       205 
366 4           2                       District of Columbia    
367 4           3                       Washington

365 4           1                       204 
366 4           2                       Eastern Cape    
367 4           3                       Jeffreys Bay    

重复数千个列表。

现在我想做的是写一个我提供ID的查询(即204,这是一个国家ID) - fields_id 1.

然后它必须给我一个国家ID 204的所有州/省(field_id 2的值字符串)的明确列表的结果,例如。

我的MySQL技能是基本的,所以你能否想一想如何在查询中实现这一点?

2 个答案:

答案 0 :(得分:1)

此SQL语句将执行您想要的操作:

SELECT w.id, w.value_string  
FROM Table1 o
LEFT JOIN Table1 w ON w.id = (o.id + 1)
WHERE o.value_string = '204'

答案 1 :(得分:0)

试试这个。

Select distinct content_id from table_name where SUBSTRING('value_string',1,3)='204';

它会为您提供与您的愿望信息相关的所有ID。