`
ileson
  • 浏览: 216238 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

项目中SQL TIP 积累

SQL 
阅读更多
1、一张表t_payfee,有一个字段invoicenum,字段里内容是:
     id       invoicenum
     1001      12.00
     1002      89.00
     1003      0.00
要求:把invoicenum 的内容后取整数,即去掉小数点和小数点后面的00;
 
 update t_payfee
   set invoicenum=(select substring(invoicenum,0,charindex('.',invoicenum)) );

2、oracle 查询时间最近的记录
select * from t_payfee where payfeedate=(select max(payfeedate) from t_payfee where cardnum='00000036')

3、将表a中的某个字段值设置成表b的某字段值
   
update t_consumer
	set basenumber=jixiebiaodi
	from t_recordinput
	where t_consumer.usercode=t_recordinput.usercode and t_consumer.chaobiaodate=t_recordinput.chaobiaodate;

4、将某列左或者右 边补零
-->不够8位左边补零
update 表A
set 列1=right('00000000'+right(列1,len(列1)),8)
where ......;

-->右边补零
update 表A
set 列1=left(列1+'00000000',8)
where ......;

5、交费记录表 payfee 有两个字段 A(姓名)、B(金额).数据结构如下:
    A      B
   张三   10
   张三   20
   李四   30
   李四   40
   王五   50
   王五   20
  现要求:以A作为分组条件,取出B字段值最大的记录,得到结果集如下:
    A      B
   张三    20
   李四    40
   王五    50
select A,MAX(B) as b from payfee group by A

6、一种思路
引用
表A用户表 {sid,sname}
sid     sname
1       张三
2       李四
3       王五
表B交易表 {gid,sid,交易金额,交易量,交易时间}
gid    sid   交易金额   交易量    交易时间
1      1      10         4         20080808
2      1      34         6         20090409
3      2      45         8         20200908
4      1      5         22         20120907
5      2      55         2         20110101
6      3      44         8         20030908

求一条:查出所有用户 某段时间内的 交易金额总计 与交易量总计?
如:20080101 到20121221 之间的数据
sid  sname  总金额  总量
1     张三   49      32
2     李四   55      2
3     王五   null    null


能查出上面数据的sql..
select a.sid,a.sname,w.交易金额,w.交易量 from  A a left join  (select sid, SUM(交易金额) 交易金额, SUM(交易量)from  B where 交易时间 between atime and btime group by sid ) w
 on a.sid=w.sid

思路:先把B表根据外键(也就是A表的主键)进行分组,作为一张新表(w)与A 表进行join 左连接 ,这样时间条件就可以在分组里限制了
7、取一个表中的值更新另一个表;
update consumer 
set lastgas=t.lastgas,gasamount=t.totalgas
from consumer c,t_temp t 
where c.id=t.id ;


update consumer
set consumer.consumertype=temp.consumertype
from 库名称.dbo.t_consumer consumer join 另外的库名称.dbo.t_temp temp 
on consumer.id=temp.id;

8、sql server 2008 删除表中完全重复的多条数据,保留一条。用临时表的办法解决!
 
select distinct * into #temp from table where condition   //将查询符合条件的记录并合并相同记录,添加到临时表中
delete from table where condition    //从表中删除符合条件的记录,有重复的全部删除.                    
insert into table select * from #temp          //将临时表中的记录重新添加到表中


9、sql server 2008 中让其显示与oracle 中的rownum 一样的效果
select t.*, row_number() over(order by f_districtname) as a
  from (select f_districtname from t_userfiles group by f_districtname) t

10、查询出交易表中,所有最近一次的交易记录
select s.id,s.code,s.name,s.number,s.biaodi,
	s.type,s.unitprice ,s.date
from S s 
where s.date= (select MAX(date) from S w  
		where s.code=w.code
		group by code) 
		and s.date between  20130503 and 20130503


11、条件修改库
   
update tb_xxx 
set f_x=case 
            when 判断表达式   then  成立时的值  else 不成立时的值 
        end
where  条件
分享到:
评论

相关推荐

    自己公司实际项目中SQL学习

    自己写的SQL语句 最近公司里面做报表就写了点 也许对大家有点点帮助。O(∩_∩)O谢谢

    ERP项目数据库SQL文件

    ERP项目数据库SQL文件,ERP项目数据库SQL文件,ERP项目数据库SQL文件ERP项目数据库SQL文件ERP项目数据库SQL文件ERP项目数据库SQL文件,ERP项目数据库SQL文件,ERP项目数据库SQL文件ERP项目数据库SQL文件

    易买网项目sql数据库版

    【标签】"易买网sql"标签进一步明确了项目的核心技术,即SQL,它在电子商务平台中通常用于管理用户数据、商品信息、交易记录等重要信息。 【压缩包子文件的文件名称列表】"EasyBuy"可能是项目的源代码文件或者...

    乐优商城项目.sql

    乐优商城项目sql文件,可直接mysql中导入该sql文件执行一下即可。

    Flink SQL大数据项目实战(基于Flink1.14.3版本)

    分享一套课程——Flink SQL大数据项目实战(基于Flink1.14.3版本),完整版视频...学完本课程,希望零基础的学员能快速上手FlinkSQL进行项目开发,有基础的学员也能快速掌握FlinkSQL流批一体技术以及积累实战项目经验。

    oracle mysql sqlserver积累

    这些数据库系统各自拥有独特的特性和优势,被广泛应用于各种规模的企业和项目中。本资源“oracle mysql sqlserver积累”似乎包含了一个关于这三种数据库的CHM格式电子书集合,为学习和理解这些数据库系统的使用提供...

    saas项目.sql

    这个sql文件,就是在《saas-export项目-项目搭建与pom.xml的父子继承》博文中提到的数据库sql文件

    C# 版SQL美化解析器源码项目

    通过研究这个项目,开发人员可以深入理解SQL解析的内部机制,学习如何处理SQL的复杂性,以及如何在实际应用中实现语句美化。此外,对C#编程语言的熟练掌握也是必要的,因为该项目完全基于C#实现。对于想要提升自己在...

    sql数据库项目

    在数据库实现阶段,学生需要在MS SQL Server 2008中进行具体实现,根据功能要求和数据库设计结果,完成表、查询、视图、触发器、存储过程等对象的实现。 调试 在调试阶段,学生需要根据编写的SQL代码,进行调试,...

    Mybatis中执行String类型的自己拼写的sql,不执行配置文件中的sql

    在实际开发中,我们需要根据项目需求和团队规范来决定何时使用自定义SQL,何时依赖配置文件。理解并掌握这两种方式的使用,可以帮助我们更好地利用MyBatis的强大功能,提高代码的灵活性和可维护性。

    Visual FoxPro中SQL命令语法及示例

    ### Visual FoxPro中SQL命令语法及示例 #### 1. 准备 - **1.1 创建文档中所要使用到的数据库及环境配置** 在开始学习Visual FoxPro (VFP) 中的SQL命令之前,需要创建一个用于演示的基础数据库环境。以下是创建...

    JSP项目(sqlserver2000数据库)

    JSP项目包里面包含6个小项目,数据库是用sqlserver2000,解压后直接在MyEclipse里面导入JSP_E? 然后配置数据库跟tomcat则可以发布,里面包含网上购书(文件为本地上传(伪上传)),分页,用户登录注册等项目!

    SQL 语法 SQL 总结 SQL教程

    SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...

    SqlQQ项目4.修改数据信息.sql

    SqlQQ项目4.修改数据信息.sql,SqlQQ项目4.修改数据信息.sql SqlQQ项目4.修改数据信息.sql,SqlQQ项目4.修改数据信息.sql SqlQQ项目4.修改数据信息.sql

    SqlQQ项目1.创建QQ3个表.sql

    SqlQQ项目1.创建QQ3个表.sql,SqlQQ项目1.创建QQ3个表.sql ,SqlQQ项目1.创建QQ3个表.sql SqlQQ项目1.创建QQ3个表.sql

    ruoyi-vue-pro yudao(芋道) 项目bpm模块SQL脚本

    ruoyi-vue-pro yudao(芋道) 项目bpm模块SQL脚本

    sqlserver自动生成sql语句工具sqlserver转oracle

    在IT行业中,数据库管理系统是核心组成部分,SQL Server和Oracle分别是微软和甲骨文公司推出的两款广泛应用的关系型数据库系统。在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到...

    VS05+SQL+Visio项目源码

    【标题】"VS05+SQL+Visio项目源码" 涉及的主要知识点是使用Visual Studio 2005(VS05)、SQL Server和Microsoft Visio在.NET环境中构建企业级应用的过程。这个项目可能包含从需求分析、系统设计到实际编码的完整流程...

    ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查示例代码.zip

    ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107024544

Global site tag (gtag.js) - Google Analytics