深度软件

抖音扫码
欢迎了解我们
公司地址:中州大道与杨金路交叉口向东2公里路南 河南省新科技市场5栋10层
联系电话:400-663-5617
                 0371-5330 2977
试用QQ群:
                167348231(自由)
正式用户QQ群:
                192183094(需邀请)
意见邮箱:1359629003@qq.com
-----------------------------------------
客服服务热线:
       400-663-5617  
           周一至周五(8:30-18:00)
周六安排应急值班
周日无人值班
深度软件官网手机版
深度软件微信公众号
价值SQL

1、获取 药天下格式的系统日期

CONVERT(varchar(100), GETDATE(), 23)

如:SELECT * FROM cb_hs WHERE (期初日期 = SUBSTRING(CONVERT(varchar(100), GETDATE(), 23), 1, 8) + '01')

2、解决导入的商品档案不能在列表显示问题(原因是flag字段为 null 了)

UPDATE spda SET FLAG = '' WHERE (FLAG IS NULL)

3、重新生成助记码

UPDATE spda SET 助记码 = dbo.fun_getPY(NAME)

4、使用复核助记码

UPDATE spda SET 助记码 = dbo.fun_getPY(NAME) + ' ' + dbo.fun_getPY(厂牌)

5、用格式单号查找原单

SELECT * FROM pz_cmmn where substring(日期,3,2) + substring(日期,6,2)+ ltrim(str(单号))='15051'

6、删除从来未发生业务的档案

DELETE FROM spda WHERE (NOT EXISTS (SELECT 1 FROM pz_jz WHERE substring(spda.code, 3, 20) = pz_jz.商品编码)) and flag<>'->'

DELETE FROM kh_tab WHERE (NOT EXISTS (SELECT 1 FROM pz_jz WHERE substring(kh_tab.code, 3, 20) = pz_jz.客户)) and flag<>'->'

7、启用新功能“价格跟踪”时,把历史的售价关联出来的方法

alter table pz_jz add [id] [int] IDENTITY (1, 1) NOT NULL

Select *   into wwww from pz_jz a where not exists(select 1 from pz_jz where 商品编码=a.商品编码   and 客户=a.客户   and id>a.id)

alter table pz_jz drop column [id]

insert into 客户最新售价 select   客户,商品编码,成交价,日期   from wwww

where 出库数量>0   and 客户 is not null and 客户 <>'' and 客户<>'0403' and 客户<>'全部盘点'

drop table wwww

8、把ID写的首营表(药天下老版本在首营载入时没把编码写到首营里面,可以用下面的语句处理)

update 首营企业审批   set 企业编码=substring(kh_tab.code,3,20) from kh_tab where 首营企业审批.企业名称=kH_tab.name   and   substring(kh_tab.code,3,1)='1'

update 合格销方登记   set 企业编码=substring(kh_tab.code,3,20) from kh_tab

where   合格销方登记.企业名称=kH_tab.name   and   substring(kh_tab.code,3,1)='2'

9、启用采购员独立核算后,客户编码关联客户名称的方法,核心语法 SUBSTRING(a.客户, 0, CHARINDEX('_', a.客户+'_'))

select a.日期,a.业务单号,a.客户,b.name,a.本方货位,a.单据总额,a.级次,a.经办,a.制单签字,a.单号,a.业务编码,a.接口标志 as 打印,a.原日期 as 采购日期,a.原单号 as 采购单号 from pz_cmmn a left JOIN kh_tab b ON SUBSTRING(a.客户, 0, CHARINDEX('_', a.客户+'_')) = SUBSTRING(b.CODE,3,20) where a.业务编码 like '010101%' and a.级次 = 4 and a.部门 like '0101%' and a.经办 like '%' and a.日期 >= '2014-12-20'and a.日期 <= '2014-12-30'order by 日期,业务单号

10、老版本没加主键,添加主键失败时,查找重复主键的方法

加个id行  alter table tb add id int identity(1,1)

SELECT p1.* FROM pz_jz p1 INNER JOIN pz_jz p2 ON p1.日期 = p2.日期 AND p1.单号 = p2.单号 AND p1.行号 = p2.行号 AND     p1.id <> p2.id

11、调出全部冷藏药记录的日期和单号

SELECT pz_jz.日期, pz_jz.业务单号, pz_jz.商品编码, pz_jz.品名, pz_jz.规格, spda.储存条件, pz_jz.业务类型

FROM pz_jz INNER JOIN spda ON pz_jz.商品编码 = SUBSTRING(spda.CODE, 3, 20) WHERE (spda.储存条件 = N'冷藏')

ORDER BY pz_jz.日期, pz_jz.业务单号

12、调出全部二类精神药品的销售

SELECT 日期, 业务单号, 商品编码, 品名, 出库数量, 业务类型 FROM pz_jz

WHERE (品名 LIKE N'%二类%') AND (业务类型 = N'销售出库') ORDER BY 日期

13、防止经办字段漏加默认值时,空关联不出来的问题,使用 isnull 函数处理

SELECT * FROM pz_cmmn WHERE (ISNULL(经办, '') LIKE '%')

14、修改批号调整表批号字段的长度 alter table ph_fs alter column 批号 varchar(30)

数据纠错:

一、入库时修改了验收的批号情况

SELECT gsp_cmmn.日期, gsp_cmmn.单号, pz_cmmn.原日期, pz_cmmn.原单号,

pz_jz.商品编码, pz_jz.批号, pz_jz.保质期, pz_jz.品名, sq_fs.商品编码 AS Expr1,

sq_fs.品名 AS Expr2, sq_fs.批号 AS 验收批号, sq_fs.有效期

FROM gsp_cmmn INNER JOIN pz_cmmn ON gsp_cmmn.日期 = pz_cmmn.原日期 AND

gsp_cmmn.业务单号 = pz_cmmn.原单号 INNER JOIN pz_jz ON pz_cmmn.单号 = pz_jz.单号 AND pz_cmmn.日期 = pz_jz.日期 INNER JOIN   sq_fs ON gsp_cmmn.日期 = sq_fs.日期 AND gsp_cmmn.单号 = sq_fs.单号 AND

sq_fs.数量 = pz_jz.入库数量 AND sq_fs.批号 <> pz_jz.批号 AND sq_fs.商品编码 = pz_jz.商品编码

二、有入库无采购验收记录

SELECT pz_jz.商品编码, pz_jz.品名, pz_jz.规格, sq_fs.商品编码 AS spbm,

sq_fs.品名 AS pm, pz_jz.日期, pz_jz.单号, pz_jz.行号, pz_jz.批号, pz_jz.保质期, pz_jz.业务单号

FROM pz_jz LEFT OUTER JOIN sq_fs ON pz_jz.商品编码 = sq_fs.商品编码 AND pz_jz.批号 = sq_fs.批号

WHERE (pz_jz.业务编码 = '010101') AND (sq_fs.品名 IS NULL)

ORDER BY sq_fs.品名

三、销售日期在入库前

SELECT * FROM pz_jz WHERE (业务编码 = N'020101') AND (日期 < 采购日期)