如何给 同名称的药品 不同规格进行编码 求大神解答

凌云 关注

收藏于 : 2019-03-18 10:02   被转藏 : 1   

本版专家分:208690
版主
银牌 2016年8月 总版技术专家分月排行榜第二
2011年11月 总版技术专家分月排行榜第二
优秀版主 2016年10月优秀大版主
2016年8月论坛优秀版主
2015年4月优秀版主
2014年11月论坛优秀版主
微软MVP 2016年4月 荣获微软MVP称号
2015年4月 荣获微软MVP称号
2014年4月 荣获微软MVP称号
2013年4月 荣获微软MVP称号
2009年1月 荣获微软MVP称号
2012年4月 荣获微软MVP称号
2011年4月 荣获微软MVP称号
2010年4月 荣获微软MVP称号
铜牌 2011年10月 总版技术专家分月排行榜第三
e.g.
                    use Tempdb
                    
go
--> --> 中国风(Roy)生成測試數據
 
if not object_id(N'Tempdb..#1') is null
drop table #1
Go
Create table #1([名称] nvarchar(36),[规格] nvarchar(33),[名称码] nvarchar(26),[规格码] nvarchar(23))
Insert #1
select N'硫酸阿米卡星注射液',N'2ml:0.2g*10支',N'005004',N'001' union all
select N'脂肪乳注射液',N'250ml',N'007007',N'001' union all
select N'盐酸甲氧氯普胺注射液',N'1ml:10mg*10支',N'011012',N'001' union all
select N'葡萄糖酸钙注射液',N'10ml:1g*5支',N'013015',N'001' union all
select N'0.9%氯化钠注射液',N'500ml(玻璃瓶)',N'013017',N'001' union all
select N'0.9%氯化钠注射液',N'100ml:0.9g(塑)',N'013017',N'002' union all
select N'0.9%氯化钠注射液',N'250ml',N'013017',N'003' union all
select N'0.9%氯化钠注射液',N'500ml(玻璃瓶)',N'013017',N'001' union all
select N'0.9%氯化钠注射液',N'100ml:0.9g(塑)',N'013017',N'002' union all
select N'0.9%氯化钠注射液',N'10ml',N'013017',N'003' union all
select N'硝酸甘油注射液',N'1ml:5mg*10支',N'014021',N'001' union all
select N'硝酸异山梨酯片',N'5mg*100片',N'014020',N'001' union all
select N'盐酸曲美他嗪片',N'20mg*30片',N'014026',N'001' union all
select N'单唾液酸四己糖神经节苷脂钠注射液',N'2ml:20mg',N'015027',N'001' union all
select N'注射用还原型谷胱甘肽',N'0.6g*6支',N'016034',N'001' union all
select N'注射用还原型谷胱甘肽',N'0.6g*10支',N'016034',N'002'
GO
;WITH CTET
AS
(Select *,ROW_NUMBER()OVER( ORDER BY RAND()) AS RN FROM #1)
,CTET2
AS
(
SELECT [名称],[规格],RN FROM CTET  AS t WHERE NOT EXISTS(SELECT 1 FROM CTET WHERE 名称=t.名称 AND [规格]=t.[规格] AND RN<t.RN)
)
SELECT t1.*,生成编码=RIGHT(1000+DENSE_RANK()OVER(PARTITION BY T2.名称 ORDER BY t2.RN),3) FROM CTET AS t1 INNER JOIN CTET2 AS t2 ON t1.名称=t2.名称 AND t1.规格=t2.规格 ORDER BY t1.RN


显示结果:这条记录应该显示004不是003吧?
0.9%氯化钠注射液 10ml 013017 003 10 004

只看TA 引用 举报 #2    得分 40
 阅读文章全部内容  
点击查看
文章点评
相关文章
凌云 关注

文章收藏:9251

TA的最新收藏