先批一下小日本
最近看见有博友在谈论日方外包项目,刚好提到了SQL的编写。
后面给不少朋友拍了
那个select语句的想法是从三个表,进行连接查询。
劳动时间管理情报表提供主要查询结果
原X部门表提供部门名称(鸟文不会打)
最后一个表提供状态名称
主要最大一个case段落是提供核心查询数据的,并且根据列不同的状态来区分整个审核流程的标致
最后输出的应该是所有项目的名称、状态名称以及详细审批信息
问题是到底写得好不好呢?
虽然小日本的不是很合理,不过也没特别不应该的问题,我相信多数人是不会写的。
简单说,就是有两个表,一个表示审批的具体数据,但是里面没有审批状态字段,同过不同阶对应的字段是否有值来区分。另一个表有1、2、3、4的编号和状态的实际文字表达。
需要查询所有审批项目的情况。如果只用一个SQL你能怎么做?
====================================================
回到我的标题上
出个题目大家做做,在我的感觉里,能完成的可以算对SQL有正确的认识了
表一:员工表
员工编号(PK),姓名,应发工资,应缴税金,实发工资
表二:所得税税率表
税率编号(PK),下限,上限,税率
每月末,员工表里的应发工资会经过程序计算完毕,不过应缴税仅和实发工资为0
税率表可能如下
税率编号(PK),下限,上限,税率%
1,0,1000,0
2,1000,1500,5
3,1500,3000,10
4,3000,5000,15
………
实际解决这个问题的时候,我还为税率表增加了一个计算列,不过不加也可以
最后的项目需求是,我们要在员工表里填写实际每个人的应缴税金和实发工资。
操作员在界面点个按钮,然后执行代码,数据库数据发生变化
要求:简洁,不许使用任何循环,不论是程序里的还是SQL里的
ps:这是我给培训生做的题目
ps2:能理解SQL的人一定不会看见linq就烦,因为这两个人的很多概念本质就是一样的。
出处: http://www.cnblogs.com/Chinese-xu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。