mysql根据不同查询条件查询

mysql根据不同查询条件查询,第1张

select GROUP_CONCAT(case when UseType =1 then EmployeeName else null end),
GROUP_CONCAT(case when UseType =2 then EmployeeName else null end),
GROUP_CONCAT(case when UseType =3 then EmployeeName else null end),
GROUP_CONCAT(case whenUseType =4 then EmployeeName else null end)
from TABLE
你这个有点难,我换了几种方法这种才有值

并不能
这种需求 要么在代码端直接判断出表名,然后查询, 要么写存储过程或者函数,同样也是要进行逻辑判断的
如果就非得要一个SELECT出来结果, 那就用UNION, 把不同条件的几个查询强制拼接在一起, 选择逻辑当作每一个查询的where条件来作为开关

select count(字段名A) as A,(select count(字段名A) from Table where 条件B)as B,字段名A from Table where 条件A group by 字段名A;
没试过,你试下,不行用联表查询

使用连表更新
update A,B set Bkk=Akk where Btt=Att
更新后B表
tt kk
2 b
4 d
3 c
1 a

该类问题可以采用以下两种方法实现:

使用动态生成sql语句进行实现,根据不同查询条件控制生成不同的查询SQL语句,也就是where 后面的内容;

利用开发系统控制where条件,此方法最佳,不但可以控制单多查询条件,也可以实现复杂多条件的查询,例如 = ,<,>,like等复杂查询,亦可对排序需求进行控制;

以上为大概解决方法,如有疑问 请追问~~ 谢谢

+

deng d

de

`-

declare @str varchar(1000)=''; declare @i int =0; set @str='select  from masterdbospt_values where 1=1'if @i=0 set @str=@str+' and [type]=''p'''  Exec (@str)

应该这样写:select from book where book_name like '%张%' limit 2;
LIMIT 0, 2 表示book中前两条记录,如果book中book_name前两条记录没有"张"姓就匹配不到数据。

按照你的标题来说,使用where field1 = 1 OR field2=1 就可以搜索出。
但是你正文中的问题和标题不是一个问题。
正文中,第二个按钮需要搜索出满足所选分类的数据,第三个按钮需要满足两个条件。
这样的话,你可以使用组合搜索,
初始定义
$where = 'where 1 ';
如果第二个按钮点击
$where = ' and 第二个按钮需要的条件 '
如果第三个按钮点击
$where = ' and 第三个按钮需要的条件 '


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13377082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存