+ -
当前位置:首页 → 问答吧 → 有关多表查询的问题

有关多表查询的问题

时间:2011-11-29

来源:互联网

表1
region_id name
1     广州
2     惠州
3     深圳
4     东莞
5     珠海

表2
eid region_id change
1  1,2,3  10
2  4,5   12

如果有这样两个表,我可通过什么办法查到“深圳”的change字段的值?

作者: heroironman   发布时间: 2011-11-29

select change
from 表1 ,表2
where find_in_set(表1.Region_id,表2.Region_id)
and name ='深圳'

作者: ACMAIN_CHM   发布时间: 2011-11-29

FIND_IN_SET(str,strlist) 
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

作者: rucypli   发布时间: 2011-11-29

select A.change
from 表1 A INNER JOIN 表2 B ON find_in_set(A.Region_id,B.Region_id) WHERE A.name ='深圳'

作者: wwwwb   发布时间: 2011-11-29