代码改变世界

『MySQL』多表之间字段的匹配

2013-03-10 13:59  我是文东  阅读(1426)  评论(0编辑  收藏  举报
1 $sql=$empire->query("select table.title,lianxi,table.dizhi,table.id from table,table1 where table1.sid like concat( '%|',table.id,'|%') and table1.id=".$navinfor[id]."");
2 while($r=$empire->fetch($sql))
3 {
4         $title=$r['title'];
5         $lianxi=$r['lianxi'];
6         $dizhi=$r['dizhi'];
7 }

如下:两个表info,tag

info 表

id name

1 aa和bb

2 bb和cc

3 ee和dd

tag表

1 aa

2 bb

tag表中 name 匹配 info 中的name

这样写就有问题: select info.id, info.name from tag,info where info.name like ‘%'+tag.name+'%'

正确:

select info.id, info.name from tag,info where info.name like concat( '%',tag.name, '%')