34,590
社区成员
发帖
与我相关
我的任务
分享
select *
from tb a
where 状态='y' or
exists(select 1
from (select * from tb where 小类='0' and 状态='y')b
where a.时间=b.时间 and a.大类=b.大类
)
SELECT 时间,大类,小类,名称,CASE WHEN 小类=0 THEN 'y' ELSE 状态 END 状态
FROM TB
WHERE 大类 IN (
SELECT 大类
FROM TB
WHERE 状态='y')--状态列加上索引
select * from t where t.[小类] != 0 and [状态]='y'
union
select t.[时间],t.[大类],t.[小类],t.[名称],'y' as [状态] from
(
select * from t
where t.[小类] = 0
) t1 inner join t
on t1.[时间]=t.[时间] and t1.[大类] = t.[大类]