最近做了一个关联性的系统,有两个数据表一个叫aaa表一个叫bbb表,aaa表里面有5条数据
id name add tel
1 ko china 123456
2 kbc china 13745122112
3 aa usa 1234555
4 kdd china 8956
5 eerr usa 1230897bbb表有3条数据,aaa_id就是关联aaa表的id
id aaa_id shangpin
1 2 笔记本
2 1 台式电脑
3 2 鼠标请问我想在bbb表里搜索aaa表里的name(任意一个字母就可以搜索到)怎么搜索?
select * from bbb where name like '%k%'
这样可以搜索到关于aaa表里的关于name有一个k的名称吗??因为我想搜索某些客户买了什么东西!为什么我不直接在aaa_id填入name吗,因为客户的资料每个月都可能改变,可能他改变了手机号码,可能改了地址
或者有可能搜索地区 select * from bbb where add='china'
id name add tel
1 ko china 123456
2 kbc china 13745122112
3 aa usa 1234555
4 kdd china 8956
5 eerr usa 1230897bbb表有3条数据,aaa_id就是关联aaa表的id
id aaa_id shangpin
1 2 笔记本
2 1 台式电脑
3 2 鼠标请问我想在bbb表里搜索aaa表里的name(任意一个字母就可以搜索到)怎么搜索?
select * from bbb where name like '%k%'
这样可以搜索到关于aaa表里的关于name有一个k的名称吗??因为我想搜索某些客户买了什么东西!为什么我不直接在aaa_id填入name吗,因为客户的资料每个月都可能改变,可能他改变了手机号码,可能改了地址
或者有可能搜索地区 select * from bbb where add='china'
不能, 改成如下
select bbb.*
from aaa,bbb
where aaa.id=bbb.aaa_id
and aaa.name like '%k%'
select bbb.*
from aaa,bbb
where aaa.id=bbb.aaa_id
and aaa.add='china';
select b.* from bbb b left join aaa a on a.id = b.aaa_id where a.add like '%k%' or a.name like '%china%'或则
select * from bbb where aaa_id in (select id from aaa where add like '%k%' or name like '%china%')
都可以的.