mysql中如何在上一次的查询结果中再次查询
假设一个表中有姓名,地址,公司,学历等字段,第一次搜索姓王的,第二次在第一次的结果中查询住在A小区的,第三次在第二次的基础上查询本科的用AND我知道,就假设有一个查询页面...
假设一个表中有姓名,地址,公司,学历等字段,第一次搜索姓王的,第二次在第一次的结果中查询住在A小区的,第三次在第二次的基础上查询本科的
用AND我知道,就假设有一个查询页面,上面有姓名,地址,公司,学历等这样的输入框,根据填写的内容查询,并不是每次所有的框的都填写了,用AND的话就要写很多SQL语句了,字段少还好,多了的话光写IF就够头疼的了,如果能在上一次的结果中再次查询可以省掉好多语句,修改维护起来也方便。
临时表我也想过,就是不知道查询速度如何 展开
用AND我知道,就假设有一个查询页面,上面有姓名,地址,公司,学历等这样的输入框,根据填写的内容查询,并不是每次所有的框的都填写了,用AND的话就要写很多SQL语句了,字段少还好,多了的话光写IF就够头疼的了,如果能在上一次的结果中再次查询可以省掉好多语句,修改维护起来也方便。
临时表我也想过,就是不知道查询速度如何 展开
展开全部
你可以才用and和or 两个组合起来使用,例如:
--只是大概的结构 like 语句自己拼接
select *
from 表名
where (传入的姓名 is null or 姓名 like 传入的姓名)--没填写姓名是则该条件不生效
and (传入的地址 is null or 地址 like 传入的地址)--没填写地址是则该条件不生效
and (传入的公司 is null or 公司 like 传入的公司)--没填写公司是则该条件不生效
and (传入的学历 is null or 姓名 like 传入的学历)--没填写学历是则该条件不生效
展开全部
不太明白,按照您的思路,使用子查询就可以了。但是直接用and把查询条件联起来和使用子查询不是一样吗?如果是想把查询结果保存起来,下次查询的时候用,就建一个临时表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有方法,但是查询起来很慢很慢,我6万条数据两级查询就执行了19秒,用and连接1秒都不到,
给你个提示SELECT * FROM (SELECT * FROM business WHERE business_name LIKE '%沈阳%') AS a WHERE address LIKE '%沈阳%'
你利用StringBuffer,查A小区的sql语句加上 and area='A小区' 不选则继续,这样不麻烦。
还有一种方法,你把第一次查的结果放在list中,在list中查找。这样减少数据库连接了。
给你个提示SELECT * FROM (SELECT * FROM business WHERE business_name LIKE '%沈阳%') AS a WHERE address LIKE '%沈阳%'
你利用StringBuffer,查A小区的sql语句加上 and area='A小区' 不选则继续,这样不麻烦。
还有一种方法,你把第一次查的结果放在list中,在list中查找。这样减少数据库连接了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
老大 你是开发小程序吧,
弄个数组 全取出 不就完了
弄个数组 全取出 不就完了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接用多条件查询:
select * from 表 where 姓名 like '王%' and 地址='A小区' and 学历='本科'
select * from 表 where 姓名 like '王%' and 地址='A小区' and 学历='本科'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询