求个sql语句,按照规则显示,
1.
最近面试遇到这么个题,求高手指教。
要求查询name或者title中包涵 张三 或者 李四 的数据。并且把所有包含 张三 的信息放在前边,包含 李四的信息 放在后面 。。。
2.
此表中就一个字段,不是主键,要求查询出不连贯的数据 2 ,3, 5 ,7 ,9
求高手赐教,本菜鸟在此感谢了
------解决方案--------------------1.
select * from tb
where titel like '%张三%'
or name like '%李四%'
union
select * from tb
where titel like '%李四%'
or name like '%李四%'
2. 没看懂
------解决方案------------------------------1
;with tb as(
select name ,title from 人员表 where name like '%张三%' or name like '%李四%' or title like '%张三%' or title like '%李四%')
,tb1 as(
select name,title,case when charindex('张三',name) >0 and charindex('张三',title) >0 then '1'
when (charindex('张三',name) >0 and charindex('张三',title) =0) or(charindex('张三',name) =0 and charindex('张三',title) >0)
then '2' else
'3' end as newc from tb)
select * from tb1 order by newc
---------------2
;with tb as(
select 1 as id1
union all
select tb.id1+2 as id1 from tb where tb.id1 <100
)
select * from tb OPTION (MAXRECURSION 2000)
第2个你写错了吧 ? 1,3,5,7,9