作者:绿色风
分类:
时间:2022-08-18
浏览:121
楼主 LOGO |
Q:如下图所示,如何在原数据的基础上添加一列标识列(若同一月份类某型号的数据中有一个为9,则该月份该型号的标识全部用1表示,否则全部用0表示)。
效果.jpg SQL-标识.zip |
2楼 成就滋味 |
xuexi学习了,谢谢分享 |
3楼 HIMYM |
select 月份,类型,数据,case when 数据=9 then 1 else 0 as 标识 from [源数据$] 这样应该也可以吧 |
4楼 HIMYM |
select 月份,类型,数据,case when 数据=9 then 1 else 0 end as 标识 from [源数据$] |
5楼 LOGO |
不可以,EXCEL 中的SQL不可以用CASE..when..语句 。将- select 月份,类型,数据,case when 数据=9 then 1 else 0 end as 标识 from [源数据$]
转换成EXCEL中可用的SQL语句为:- select 月份,类型,数据,switch(数据=9,1,数据<>9,0) as 标识 from [源数据$]
或者- select 月份,类型,数据,iif(数据=9,1,0) as 标识 from [源数据$]
但返回的结果也没有符合要求的“只要有一个数据为9,则该月份该型号的标识全部返回1,否则全部返回0。” |
6楼 HIMYM |
哦 知道了 谢谢! |
7楼 LOGO |
这句话说得不严谨。应该说导入数据来源是EXCEL工作表中的表时不可以,但是利用SQL SERVER从数据库中获取数据时是可以使用的。 例如:- SELECT iyear AS 年
- ,iperiod AS 月
- ,DAY ( dbill_date ) AS 日
- ,记帐标志 = CASE WHEN ibook = 1 THEN '√' ELSE '×' END
- FROM GL_accvouch
|
8楼 icenotcool |
|
9楼 海洋之星 |
这个好,学习了 |
10楼 芐雨 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一