求语句解决思路
求语句
表a
序号 姓名
1 王x
2 刘x
3 张x
表b
序号 员工序号 状态
1 1 进行中
2 1 已完成
.....
求两个语句
一.从表b中随机选择记录,表a中的员工,每人随机选择2条状态为'“进行中'”的记录。
二从表b随机选择10条状态为“进行中”的记录,哪个员工的记录都行。
------解决方案--------------------
用newid()函数来排序
------解决方案--------------------
大概就是这样:
------解决方案--------------------
可以这样:
表a
序号 姓名
1 王x
2 刘x
3 张x
表b
序号 员工序号 状态
1 1 进行中
2 1 已完成
.....
求两个语句
一.从表b中随机选择记录,表a中的员工,每人随机选择2条状态为'“进行中'”的记录。
二从表b随机选择10条状态为“进行中”的记录,哪个员工的记录都行。
------解决方案--------------------
用newid()函数来排序
------解决方案--------------------
大概就是这样:
select *
from
(
select *,
ROW_NUMBER() over(partition by a.序号 order by newid()) rownum
from A
left join B on a.序号 = b.员工序号
where b.状态 = '进行中'
)t
where rownum<=2
------解决方案--------------------
可以这样:
insert into c
select 需要插入到c表的列,GETDATE()
from
(
select *,
ROW_NUMBER() over(partition by a.序号 order by newid()) rownum
from A
left join B on a.序号 = b.员工序号
where b.状态 = '进行中'
)t
where rownum<=2