SQL Tips --收集常用的SQL

简介: --从人事库中查出在职的,薪卡号重复的记录 select FGongKaHao from bas_Employee   where  FZaiZhi=0   group by FGongKaHao having count(FGongKaHao)>1   --找出进仓从表的出仓数量和出仓记录中的...

--从人事库中查出在职的,薪卡号重复的记录

select FGongKaHao from bas_Employee
   where  FZaiZhi=0
   group by FGongKaHao having count(FGongKaHao)>1

 

--找出进仓从表的出仓数量和出仓记录中的出仓数量总合不一样的记录

SELECT * FROM
(
    select
       ISNULL(
         (
            --计算出仓记录里的出仓数量总合
            SELECT SUM(FShuLiang)
               FROM sto_ChuCangJL f_ccjl
               WHERE f_d.FKey=f_ccjl.FJinCangKey
            )
           ,0) AS FChuCangSLEX, f_d.FChuCangSL AS FChuCangSL2, f_d.*
    FROM
      (
      select f_m.FFormDate, f_m.FBianHao,
             f_d.*
          from sto_inStore_d f_d
          INNER JOIN sto_InStore_m f_m on f_m.FFormKey = f_d.FFormKey
      )f_d
)__v

where FChuCangSL<>FChuCangSLEX
order by FBianHao

 

--进仓从表的出仓数量和出仓记录中的出仓数量总合不一样的记录,更新一至
UPDATE f_d
  SET f_d.FChuCangSL=__v.FChuCangSLEX
  FROM sto_inStore_d f_d
  INNER JOIN
    (
        select
           ISNULL(
             (
                --计算出仓记录里的出仓数量总合
                SELECT SUM(FShuLiang)
                   FROM sto_ChuCangJL f_ccjl
                   WHERE f_d.FKey=f_ccjl.FJinCangKey
                )
               ,0) AS FChuCangSLEX, f_d.FChuCangSL AS FChuCangSL2, f_d.*
        FROM
          (
          select f_m.FFormDate, f_m.FBianHao,
                 f_d.*
              from sto_inStore_d f_d
              INNER JOIN sto_InStore_m f_m on f_m.FFormKey = f_d.FFormKey
          )f_d
    )__v ON f_d.FKey=__v.FKey
   where __v.FChuCangSL<>__v.FChuCangSLEX

 

--使用联连的方式来更新一个表

--更新禁止使用的模块
UPDATE #tmpModules SET IsEnable=0
  FROM #tmpModules f_tb INNER JOIN sys_cm_ModuleFuncs f_slv ON f_tb.FModuleFuncIndex=f_slv.FIndex
  WHERE f_slv.FDisable=1

 

--更新班次

SELECT @ExeStr=
'UPDATE f_tb
   SET FBanCiBH=
        (SELECT ['+@SDay+'] FROM hrm_EmpBanCi
           WHERE FNianYue='''+@NianYue+''' AND FZhiYuanKey=f_tb.FZhiYuanKey)
   FROM hrm_EmpKaoQin f_tb
   WHERE  f_tb.FApproved<>1
          AND f_tb.FKaoQinRQ='''+cast(@mm_Date as varchar(24))+''''
EXEC (@ExeStr)

目录
相关文章
|
SQL 关系型数据库 MySQL
SQL语句小tips(持续更新)
统计非法数据 判断people_id是否是32为字母组成的,统计不满足要求的数据 SELECT COUNT(IF(BINARY people_id NOT REGEXP '^[0-9a-z]{32}',TRUE,NULL)) AS people_id_illegality_cnt FROM ...
1085 0
|
SQL Oracle 关系型数据库
|
SQL JavaScript .NET
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
6月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
163 13
|
6月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。