1.查询表中某个字段值重复出现两次以上

select distinct 字段 from 表 where 字段 in (select 字段 from 表 group by 字段 having count(1)>1)

2.把查询结果当做一个表来查询

select * from (select sum(id) as sunNum from people) as tempTable

3.将查询出的记录插入到另一张表中

插入新表(会在数据库中生成):

select 目标列 into 新表 from 旧表 where 条件

插入到已存在的表:

insert into 插入的表名 select 目标列 from 表名 where 条件

4.随机取n条数据

select top 10 from 表 where 条件 order by NEWID()

说明:NEWID()在扫描每条记录的时候都生成一个值,而生成的值是随机的,没有大小顺序,所以最终结果再按这个排序,排序结果当然就是无序的了

5. 判断数据库中是否存在某张表

select count(1) from syscolumns where [id]=object_id('表名称')

结果等于0就是没有,大于0就是有

6.查询结果的连接Union、相减Except

(select nameA from preduty where (week='星期一' or week='星期三' or week='星期五' or
week ='星期六') and (mix='true'))
union
(
select nameA from preduty where (mix='ffalse') and
(week='星期一' or week='星期三' or week='星期五' or week ='星期六')
)
union
(
select nameB from preduty where (mix='ffalse') and
(week='星期一' or week='星期三' or week='星期五' or week ='星期六'))
)
except
(
select nameA from tableThursday
)

7.添加新字段

alter table tableThursday add xvhao int identity(1,1) primary key

8.给个起始日期,日期在起始日期的基础上每天加1,依次插入到表中某列

ALTER PROCEDURE [dbo].[InsertNowDate]
@startdate dateASdeclare @countDay int
set @countDay =1
while(@countDay<=32)BEGINupdate nowdutysheet set dutydate=(CONVERT(date,@startdate,102))
where nowid=@countDayset @startdate=DATEADD(DAY,1,@startdate)
set @countDay=@countDay+1END

9.在新值班表中填充每个人的电话,从基础表获得信息

ALTER PROCEDURE [dbo].[InsertPhoneAB]ASdeclare @countDay int
declare @stuNameA nchar(8)
declare @stuNameB nchar(8)set @countDay =1
while(@countDay<=32)BEGINset @stuNameA=(select top 1 nameA from nowdutysheet where phoneA is null order by nowid)update nowdutysheet set phoneA=(select phone from people where name=@stuNameA) where nameA=@stuNameAset @stuNameB=(select top 1 nameB from nowdutysheet where phoneB is null order by nowid)update nowdutysheet set phoneB=(select phone from people where name=@stuNameB) where nameB=@stuNameBset @countDay=@countDay+1END

10.重置操作,删除数据库中所有没有用的生成表

ALTER PROCEDURE [dbo].[ReDo]AS
BEGINif (select count(1) from syscolumns where [id]=object_id( 'tableThursday' ))>0
drop table dbo.tableThursday
if (select count(1) from syscolumns where [id]=object_id( 'tableTuesSun' ))>0
drop table dbo.tableTuesSun
if (select count(1) from syscolumns where [id]=object_id( 'tablecommon' ))>0
drop table dbo.tablecommon
if (select count(1) from syscolumns where [id]=object_id( 'temptableA' ))>0
drop table dbo.temptableA
truncate table nowdutysheet
update nowdutysheet set dutydate =null
if (select count(1) from syscolumns where [id]=object_id( 'tableMale' ))>0
drop table tableMale
if (select count(1) from syscolumns where [id]=object_id( 'ThursMale' ))>0
drop table ThursMaleEND

11.从表中随机获取一名同学到新值班表

--从tableTuesSun中随机获取一名女生
ALTER procedure [dbo].[SelectOneCommon]
asbegin
declare @stuName nvarchar(4)
declare @weekIndex int
set @weekIndex=(select min(nowid)  from nowdutysheet where (week='星期一' or
week='星期三' or week ='星期五' or week='星期六' ) and ( nameA is null))
--随机选取一名周一/三/五/六值班的
set @stuName=(select  top 1 nameA from tablecommon where herstate='1'order by NEWID())
--状态置0,下次不再取
update tablecommon set herstate='0',choosetime=GETDATE() where nameA=@stuName
update nowdutysheet set nameA =@stuName  where  nowid=@weekIndexend    

12.在曹教授的帮助下,写的给个起始星期X,向下自动填充星期

存储过程:

ALTER PROCEDURE [dbo].[GetWeek]
@StartWeek int
as
declare @mycount int
declare @thisWeek int
declare @countDay int
set @countDay=1
set @mycount=@StartWeek
while(@countDay<=32)
beginset @thisWeek=(@mycount+7)%7insert into nowdutysheet(week) values(dbo.GetWeekFunction(@thisWeek))set @mycount=@mycount+1set @countDay=@countDay +1
end

标量值函数:

ALTER function [dbo].[GetWeekFunction](@weekindex int)
returns nvarchar(4)
as
begin declare @myWeekName nvarchar(4)if(@weekindex=1)beginset @myWeekName='星期一'return @myWeekNameendif(@weekindex=2)beginset @myWeekName='星期二';return @myWeekName;endif(@weekindex=3)beginset @myWeekName='星期三';return @myWeekName;endif(@weekindex=4)beginset @myWeekName='星期四';return @myWeekName;endif(@weekindex=5)beginset @myWeekName='星期五';return @myWeekName;endif(@weekindex=6)beginset @myWeekName='星期六'return @myWeekNameendif(@weekindex=0)beginset @myWeekName='星期日'return @myWeekNameendreturn @myWeekName
end

一键排班软件开发用到的sql语句相关推荐

  1. C# winform 编写一键排班软件遇到的程序问题

    下面咱们看图说话: 1.规范输入.系统默认应输入"星期X",如果用户输入特殊字符@#¥%!或其他字符,在这里会给个提醒,同时限制只能输入三个字符 string str = txtW ...

  2. C# winform 编写一键排班软件时遇到的问题

    问题鱼贯而出,防不胜防,下面把一些比较有意思的东西分享给大家: 1.设置窗体的默认按钮 this.AcceptButton=你的按钮名; 2.程序退出的方法 3.窗体加载时,文本框不全选内容 text ...

  3. cnc程序串连软件哪个好用_排班软件哪个好用?

    排班是许多企业的一项日常管理工作,对于大部分企业员工来说,他们的工作时间是固定的,但还有一部分员工由于他所在行业和工作性质的原因,工作时间不固定,这时就需要一套公平.合理的排班软件,不仅能调动员工积极 ...

  4. 排班源码,排班软件源码,排班系统源码,java,php,asp,asp.net,c#,python通用

    先上最后成品图: 可以按月按周进行排班 支持拖拉排班,效率十分高效 开工,准备物料: daypilot-all.min.js绿色版 我语言用的是php,因为是独立原生版本,代码看起来很简洁高效,开发起 ...

  5. 餐厅员工排班软件市场现状研究分析报告-

    辰宇信息咨询市场调研公司最近发布-<2022-2028中国餐厅员工排班软件市场现状研究分析与发展前景预测报告> 内容摘要 本文研究中国市场餐厅员工排班软件现状及未来发展趋势,侧重分析在中国 ...

  6. php人员排班程序,人员排班软件操作步骤

    人员排班软件操作步骤: Section1:增加时间段,时间段主要是设置一个时段,并将其安排个一个周期里面的一天,例如将周一到周五的上班时间设为早上8点到晚上5点,周六为早上9点到下午四点 1. 用户进 ...

  7. 2022-2028全球与中国餐厅员工排班软件市场现状及未来发展趋势

    辰宇信息咨询市场调研公司最近发布-<2022-2028全球与中国餐厅员工排班软件市场调研报告> 内容摘要 本文重点分析在全球及中国有重要角色的企业,分析这些企业餐厅员工排班软件产品的市场规 ...

  8. php实现一键分班,学生一键分班软件下载

    可各分段,各名次段,各科分数,及多份成绩完美均衡的全衡分班软件(单机版).网址:www.quan-heng1.com 1. 各科的任意分数段.任意名次段的人数的均衡,如优秀.良.差.10-20分.10 ...

  9. 在程序开发中怎样写SQL语句可以提高数据库的性能

    1.首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个10万条记录的表中查1条记录 ...

最新文章

  1. python创建scrapy_Python爬虫教程-31-创建 Scrapy 爬虫框架项目
  2. 转:纯CSS实现“鼠标移过显示层”效果
  3. CentOS 6.5编译安装Nginx+MySQL+PHP
  4. Unity3D ShaderLab 内发光防护罩
  5. vue 简介 vue 项目
  6. nginx php access denied,LNMP 解决Access Denied错误详细介绍
  7. 代理模式、动态代理及其应用
  8. hbase动态更改行键设计_谈笑间学会Hbase Rowkey设计
  9. 实现一个闹钟_iPhone 闹钟停止时,如何自动播放你喜欢的音乐
  10. Dekker互斥算法解析
  11. 【转】Content-type的几种常见类型
  12. leetcode1037 有效的回旋镖(Java练习)
  13. 【雷达与对抗】【2004.05】合成孔径雷达X波段发射机和频率分配单元的设计与实现
  14. Hermite(埃尔米特)插值法 | 插值多项式+ 插值余项
  15. 工业物联网IoT平台建设方案
  16. 明星志愿3入门经典教程
  17. FPGADesigner《FPGA数字信号处理系列》目录与传送门
  18. 【微积分易错点总结】函数、极限和连续
  19. IQ 智力题 有答案
  20. android平台应用GPIO模拟IR控制车载DTV

热门文章

  1. 移动机器人中的现代控制理论之能控能观与稳定性
  2. 【机器学习】 主流机器学习算法简介与其优缺点分析
  3. 软考初级程序员上午单选题(20)
  4. 数字标牌无线联网方案
  5. 为什么结婚戒指要带在无名指上?
  6. 李开复的做最好的自己
  7. 【软件测试】网申题目集合
  8. Mac上切割音频,切歌,截取铃声,MP3文件处理,视频剪切,视频剪裁,视频转换
  9. python-关于爬虫爬取36kr数据
  10. 【140811】泡泡堂游戏单机版完整源码(ASL引擎)