日期:2014-05-16  浏览次数:20841 次

求助如何多表联合查询并改变显示的值
MYSQL:5.5.16

表1:Typeinfo
列:TypeID TypeName
值:1 动作
  2 喜剧
  3 科幻


表2:DiskInfo
列:DiskName TypeID
值:D 1;2;3
  E 2;3


请问如何联合查询表DiskInfo使其显示结果为
D 动作;喜剧;科幻
E 喜剧;科幻

注:只是更改显示的结果,不真实更改表里的值


------解决方案--------------------
SQL code
select a.DiskName,group_concat(b.TypeName)
from DiskInfo a,Typeinfo b
where find_in_set(b.TypeID,a.TypeID)
group by a.DiskName

------解决方案--------------------
select a.DiskName,group_concat(b.TypeName)
from DiskInfo a,Typeinfo b
where find_in_set(b.TypeID,replace(a.TypeID,';',','))
group by a.DiskName