mysql数据库 怎么在多个表中 查找一个关键词 100
比如我的数据库中有5张表表名分别是aabbccddee我输入一个关键字能查出所有表中的所有字段里包含这个关键字的信息返回所有包含此关键词的记录...
比如我的数据库中有5张表 表名分别是aa bb cc dd ee
我输入一个关键字 能查出所有表中的所有字段里包含这个关键字的信息
返回所有包含此关键词的记录 展开
我输入一个关键字 能查出所有表中的所有字段里包含这个关键字的信息
返回所有包含此关键词的记录 展开
6个回答
展开全部
select * from table1 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table2 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table3 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table4 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table5 where concat(`字段`,`字段`,`字段` ) like '%关键字%'
前提是查询出来的字段个数要一样,类型要对应好,至于如何得到正确且符合你需要的sql就要在程序类中处理了
select * from table2 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table3 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table4 where concat(`字段`,`字段`,`字段` ) like '%关键字%' union
select * from table5 where concat(`字段`,`字段`,`字段` ) like '%关键字%'
前提是查询出来的字段个数要一样,类型要对应好,至于如何得到正确且符合你需要的sql就要在程序类中处理了
展开全部
如果五张表都有关联,就集成到一个sql语句
如果没有的话,就只能分别读取
最后将他陈入一个数组,返回结果
如果没有的话,就只能分别读取
最后将他陈入一个数组,返回结果
追问
这样得写很多sql语句啊 而且我现在不止5个表
追答
那你这样,入库之前,把有的数据用某一个表记录,届时用这个表来处理所有的数据
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照你的描述,对方问的问题肯定是不固定的吧?
假设对方问的问题是一个string类型的数据,作为string1.
所以可以把所有的关键词放在一个map里面,key为关键词,value为答案,再遍历map的key,转换为string,作为string2.
如果string1包含string2,那么就可以取出string2键对应的值,返回给对方了。
这是我java的思维,你们php好像只有数组,不过应该有类似map的函数的,array_map()
函数好像可以用。
假设对方问的问题是一个string类型的数据,作为string1.
所以可以把所有的关键词放在一个map里面,key为关键词,value为答案,再遍历map的key,转换为string,作为string2.
如果string1包含string2,那么就可以取出string2键对应的值,返回给对方了。
这是我java的思维,你们php好像只有数组,不过应该有类似map的函数的,array_map()
函数好像可以用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你先把这几个表关联起来,然后用视图的方法调用就OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式如下:
select selection_list // 要查询的内容,选择哪些列
from table_list // 从什么表中查询,从何处选择行
where primary_constraint // 查询时需要满足的条件,行必须满足的条件
group by grouping_columns // 如何对结果进行分组
order by sorting_columns // 如何对结果进行排序
having secondary_constraint // 查询时满足的第二条件
limit count // 限定输出的查询结果
设置查询的内容。
1)如果要查询一个表中的所有列,可以将其设置为“*”。
比如,查询tb_chengji数据表中的所有列。代码如下:
select * from tb_chengji;
// 查询数据表中的所有数据
2)如果只查询一个表中的某一列或多列,可以直接输入列名,并以“,”分隔。
代码如下:
select xuesheng,yuwen from tb_chengji;
// 查询数据表中xuesheng和yuwen列的数据
select selection_list // 要查询的内容,选择哪些列
from table_list // 从什么表中查询,从何处选择行
where primary_constraint // 查询时需要满足的条件,行必须满足的条件
group by grouping_columns // 如何对结果进行分组
order by sorting_columns // 如何对结果进行排序
having secondary_constraint // 查询时满足的第二条件
limit count // 限定输出的查询结果
设置查询的内容。
1)如果要查询一个表中的所有列,可以将其设置为“*”。
比如,查询tb_chengji数据表中的所有列。代码如下:
select * from tb_chengji;
// 查询数据表中的所有数据
2)如果只查询一个表中的某一列或多列,可以直接输入列名,并以“,”分隔。
代码如下:
select xuesheng,yuwen from tb_chengji;
// 查询数据表中xuesheng和yuwen列的数据
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询