日期:2014-05-17  浏览次数:20485 次

求一自动编号处理以下需求,谢谢

--临时接收表
select * from TEORD 
/*SDDATE SDREN KHNAME KHADDESS KHTEll KHTOPO SKUNAME SKU CQTY ZQTY JQTY
2013-01-17 00:00:00.000 曹宏 广外 白云区白云大道北2号 卢珍 362079 11 04B 2 NULL 2
2013-01-17 00:00:00.000 罗平 天意 广州市天河区五山路科 梁想 137517451 11 A0050 4 NULL 4
2013-01-17 00:00:00.000 曹宏 华思 花都区汽车城东冈 张美 136320491 N2 N2 2 NULL 2
2013-01-17 00:00:00.000 曹宏 华思 花都区汽车城东冈 张美 136322491 N21 N21 1 NULL 1
2013-01-17 00:00:00.000 曹宏 耐路 花都区汽车城岭西 利衡 159158148 TN21 A1191 2 NULL 2
2013-01-17 00:00:00.000 陈熹 嘉可 建设六马路33号宜安 黄姐 836335 TN27 A2051 1 NULL 1
2013-01-17 00:00:00.000 吴斌 达亿 荔湾区浣花路109号东鹏德宝商务中 李媛 815078 粉 A0X82 1 NULL 1
2013-01-17 00:00:00.000 林应 茂彩 茂名市迎宾二路137号大院 江劲 NULL 废 A00200 1 NULL 1
2013-01-17 00:00:00.000 侯青 珍告 体育西路103号维多利广场A 彭姐 381015 TN21 NULL 1 NULL 1
2013-01-17 00:00:00.000 侯威 东丽 天河区天河北路233号中信广场写 郭生 875212 TN21 A0D2 2 NULL 2
2013-01-17 00:00:00.000 侯威 东丽 天河区天河北路233号中信广场写 郭生 875212 TN21C A0D2 1 NULL 1*/
--查询临时TEORD表插入订单表
insert into ORD select '生成订单号',KHNAME,KHADDESS,KHTEll,KHTOPO from TEORD group by KHNAME,KHADDESS,KHTEll,KHTOPO ORDER BY KHNAME
--查询临时TEORD表插入明细表
insert into ORDT select '生成订单号',KHNAME,SKUNAME,SKU,SUM(CQTY) from TEORD group by KHNAME,SKUNAME,SKU ORDER BY KHNAME

--相同KHNAME的生成同样的"订单号","生成订单号"规则KC+年+月+日+4位流水号(例如:KC130117001)
--最后得出如下结果
/*
订单表
生成订单号 KHNAME KHADDESS KHTEll KHTOPO
KC130117001 达亿 荔湾区浣花路109号东鹏德宝商务中 李媛 815078
KC130117002 东丽 天河区天河北路233号中信广场写 郭生 875212
KC130117003 广外 白云区白云大道北2号 卢珍 362079
KC130117004 华思 花都区汽车城东冈 张美 136320491
KC130117005 嘉可 建设六马路33号宜安 黄姐 836335
KC130117006 茂彩 茂名市迎宾二路137号大院 江劲 NULL
KC130117007 耐路 花都区汽车城岭西 利衡 159158148
KC130117008 天意 广州市天河区五山路科 梁想 137517451
KC130117009 珍告 体育西路103号维多利广场A 彭姐 381015
明细表
生成订单号 KHNAME SKUNAME SKU (无列名)
KC130117001 达亿 粉 A0X82 1
KC130117002 东丽 TN21 A0D2 2
KC130117002 东丽 TN21C A0D2 1
KC130117003 广外 11 04B 2
KC130117004 华思 N2 N2 2
KC130117004 华思 N21 N21 1
KC130117005 嘉可 TN27 A2051 1
KC130117006 茂彩 废 A00200 1
KC130117007 耐路 TN21 A1191 2
KC130117008 天意 11 A0050 4
KC130117009 珍告 TN21 NULL 1

*/


求相同KHNAME的生成同样的"订单号","生成订单号"规则KC+年+月+日+4位流水号(例如:KC130117001),求代码,菜鸟,最后是存储过程,他这个是半小时接收一次数据!,先谢过!

------解决方案--------------------
DECLARE @a DATE 
SET @a='2013-01-17'

SELECT 'KC'+SUBSTRING(CONVERT(varchar(20), @a, 112),3,LEN(@a))+LEFT('000'+CONVERT(VARCHAR(4),ROW_NUMBER()OVER(ORDER BY GETDATE())),4)

------解决方案--------------------
问题一


select 'KC'+convert(varchar(12),[SDDATE],112)+right(10000+row_number()over(order by KHNAME),4),
KHNAME,KHADDESS,KHTEll,KHTOPO 
from #TEORD 
group by convert(varchar(12),[SDDATE],112),KHNAME,KHADDESS,KHTEll,KHTOPO
ORDER BY KHNAME
------解决方案--------------------
张美    136320491
张美    136322491


电话不相同时,怎么取
------解决方案--------------------
--查询临时TEORD表插入订单表
;WITH t AS (
SELECT 
DENSE_RANK()OVER(ORDER BY KHNAME ASC) AS row
,KHNAME
FROM TEORD 
)

--insert into ORD