sql中 关于取表中不存在的值的写法
答案:2 悬赏:40 手机版
解决时间 2021-01-25 22:39
- 提问者网友:戎马万世
- 2021-01-25 12:30
sql中 关于取表中不存在的值的写法
最佳答案
- 五星知识达人网友:西风乍起
- 2021-01-25 13:52
真服了你,还用日文,这个看了有点不爽。本来不想回答,想想还是算了:
Create table 另一张表名称 Select * From 表2 where 年月日 not in (select 年月日 from HolidayMaster)
---------------------------------------------
看了你的提示,感觉你的提问方式不是很好理解。
HolidayMaster是存放休息日,那么工作日不就是除休息日以外的日子嘛!那么你想建一张新表,存放工作日(workday),这张新表的字段有几个?分别是什么等都没说明白。百度知道这个平台,问题表达的越清楚,就越可能得到最想要的答案。我就写一个最简单的,你不理解,我也没办法了:
第一步:生成一个一年365天的临时表
1.按照HolidayMaster结构生成一张空表
select * into AllDay from HolidayMaster where 1<>1
2.向空表插入一年的数据
declare @i int
set @i=1
while @i<365
begin
insert into AllDay (yyyymmdd) values(DateAdd(day,@i,getdate()))
set @i=@i+1
end
3.完成你想要的答案:
Select Right(convert(char(10),yyyymmdd,121),5) as mmdd into NewTable from AllDay Where Right(convert(char(10),yyyymmdd,121),5) not in
(Select Right(convert(char(10),yyyymmdd,121),5) From HolidayMaster)
说明:Right(convert(char(10),yyyymmdd,121),5) as mmdd 是取年月日中的右五位,即月日,作为列名mmdd。所以NewTable只有一列(mmdd),表示工作日。
实现功能总结:
例如:HolidayMaster有两条记录 2010-04-05 和 2010-04-06(这里年无关紧要,因为通过说明会去除)
那么NewTable就是一年365天中去除这两天的所有天。
Create table 另一张表名称 Select * From 表2 where 年月日 not in (select 年月日 from HolidayMaster)
---------------------------------------------
看了你的提示,感觉你的提问方式不是很好理解。
HolidayMaster是存放休息日,那么工作日不就是除休息日以外的日子嘛!那么你想建一张新表,存放工作日(workday),这张新表的字段有几个?分别是什么等都没说明白。百度知道这个平台,问题表达的越清楚,就越可能得到最想要的答案。我就写一个最简单的,你不理解,我也没办法了:
第一步:生成一个一年365天的临时表
1.按照HolidayMaster结构生成一张空表
select * into AllDay from HolidayMaster where 1<>1
2.向空表插入一年的数据
declare @i int
set @i=1
while @i<365
begin
insert into AllDay (yyyymmdd) values(DateAdd(day,@i,getdate()))
set @i=@i+1
end
3.完成你想要的答案:
Select Right(convert(char(10),yyyymmdd,121),5) as mmdd into NewTable from AllDay Where Right(convert(char(10),yyyymmdd,121),5) not in
(Select Right(convert(char(10),yyyymmdd,121),5) From HolidayMaster)
说明:Right(convert(char(10),yyyymmdd,121),5) as mmdd 是取年月日中的右五位,即月日,作为列名mmdd。所以NewTable只有一列(mmdd),表示工作日。
实现功能总结:
例如:HolidayMaster有两条记录 2010-04-05 和 2010-04-06(这里年无关紧要,因为通过说明会去除)
那么NewTable就是一年365天中去除这两天的所有天。
全部回答
- 1楼网友:拜訪者
- 2021-01-25 15:03
不明白你这什么意思?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯