查询一张表 该表字段 包括:薪酬标准编号、登记时间、薪酬标准名称、制定人、变更人、复核人等等
薪酬标准查询环节,首先需要输入查询条件。包括:薪酬标准编号、关键字和登记时间。
薪酬标准编号和关键字支持模糊查询。关键字查询条件将在薪酬标准名称、制定人、变更人和复核人字段进行匹配。登记时间查询条件包括起止时间,将匹配登记时间大于开始时间小于截至的记录。
查询条件不输入时,该限定条件不起作用。
请问这个查询语句该怎么写 用的框架是ssm
给你举一个 薪酬标准编号 模糊查询:
select 薪酬标准编号,登记时间,薪酬标准名称,制定人,变更人,复核人 from 表名 where 薪酬标准编号 like "%输入的%"
查询时间范围 接着上面的写
and 时间字段 between '2017-06-14' and '2017-06-14' ;
其他的地方你在程序里条件为空拦截就行了,说的够详细了吧,给个豆子
谢谢啦 简单的模糊查询 会做 主要是关键字的匹配 不过这个问题自己已经解决了
@Yqf锋: 你想同时匹配三个关键字 用 or 链接就行了
例:SELECT * FROM test.user where userId ="aaa" or username="bbb" or age ="ccc";豆子!豆子!
@DanBrown: 嗯 谢谢你的回答 不过这条SQL语句我写过 达不到需要的效果 语句 带or 那么 or前和or后 要么是true 要么是false 只有or 两边的条件都是true的时候 才能达到需要的效果 否则 如同 ID=值 这样的条件 就不起作用了 另外我自己把答案写上去了 不考虑性能啥的 效果还是理想的
select *from 表名 where 薪酬标准编号 like '%值%' and 登记时间 between 开始时间 and 结束时间 and 主键 in(select *from 表名 where 制定人 like 值 or 复核人 like 值 or 变更人 like值)
薪酬标准名称=制定人=变更人=复核人 ??不合理吧 按照你说的两边都要是true 就直接and 了
@DanBrown: 所以我用了子查询 保证匹配到的值 可以用and来连接 这样and 两边都是ture 效果就达到了