慕雪1032859
2021-08-09 17:54
一个数据表里面有个字段type,改字段type可以有三个值1,2,3,当type的值有1或者2时,就只查询type=2的数据,当type只有1的值时就只查询等于1的数据
比如说这个数据,group_id等于10的数据type只有1,就要查询type=1的这条,group_id等于12的这条数据type的值有1和2,就只查询type=2的这个数据,也就是说,现在要查询的数据就只有id为46和48的这两个数据,请问一下这个sql语句怎么写,条件就只能用type做为条件
select *
from 表名
where type=2
union
select t1.*
from (
select *
from 表名
where type=1
) t1
left join
(
select *
from 表名
where type=2
) t2
on t1.group_id=t2.group_id
where t2.type is null
select * from 表名 where type=2 or (type=1 and type not =2);
MySQL8.0零基础入门之从青铜到钻石
34565 学习 · 82 问题
相似问题