农产品加工公司农副产品收购数据库一表转“一对多”,求存储过程
公司业务需要,特来求助 原表结构及示例如下: id 村名 联合生产队 定价日期 收货日期 花生 地瓜 小麦 特价 接货人 输入日期 备注 01 陈村 一队 7/16/2007 7/23/2007 20 6 12 N cany 7/25/2007 NULL 02 杨村 四队 7/16/2007 7/23/2007 17 8 16 N cany 7/25/2007 NULL 04 陈村 一队 9/22/2007 10/8/2007 14 9 22 Y Kate 10/12/2007 NULL 06 陈村 三队 9/22/2007 10/8/2007 16 12 19 Y Kate 10/12/2007 NULL 说明:id不是连续的,原来是取最后一个id,然后加1生成新条目的id号,现在因为现在收购品种变得不确定,于是新的收购使用一对多的表。 新表结构和示例如下: 表一 id 村名 联合生产队 接货人 输入日期 备注 01 陈村 一队 cany 1/12/2008 NULL 02 杨村 四队 Kate 1/18/2008 NULL 表二 id 品种 定价日期 收货日期 是否特价 01 花生 1/4/2008 1/9/2008 N 01 地瓜 1/4/2008 1/9/2008 N 01 小麦 1/5/2008 1/9/2008 N 01 玉米 1/5/2008 1/9/2008 N 02 花生 1/8/2008 1/14/2008 Y 02 小麦 1/8/2008 1/14/2008 Y 在新表1和2里,id是对应的,两个表id相同的都是同一票单的,就是说id为01的单,是陈村一队发的4种货,而02那张单,只从杨村4队收购了2种货,现要把旧表转成一对多,并分拆加在两个新表后面,旧表不删除,求存储过程 新表的id取法和旧表一样
100
第1个回答
先顶后看.
第2个回答
原表的三队呢?没结果?
第3个回答
基本看明白了,是不是原来的表分成两个表对应插入新表1和新表2. 就是插入新表的情况该如何搞? 比如已经存在的:01 陈村 一队 cany 1/12/2008 新表也有这个数据,只是日期不同,也要重新插入,另给编号?
第4个回答
新表的id取法和旧表一样: 是否是指在新表2中要有一个id保存原表中的id?
第5个回答
- SQL code
declare @aa table(id nvarchar(10),村名 nvarchar(20),联合生产队 nvarchar(20),定价日期 datetime,收货日期 datetime,花生 int,地瓜 int,小麦 int,特价 nvarchar(10),接货人 nvarchar(20),输入日期 datetime,备注 nvarchar(200))
insert into @aa select '01','陈村','一队','7/16/2007','07/23/2007',20,6,12,'N','cany','7/25/2007',null
insert into @aa select '02','杨村','四队','7/16/2007','07/23/2007',17,8,16,'N','cany','7/25/2007',null
insert into @aa select '04','陈村','一队','9/22/2007','10/8/2007',14,9,22,'y','Kate', '10/12/2007',null
insert into @aa select '06','陈村','三队','9/22/2007','10/8/2007',16,12,19,'y','Kate','10/12/2007',null
declare @表一 table(id nvarchar(4),村名 nvarchar(20),联合生产队 nvarchar(20),接货人 nvarchar(10), 输入日期 datetime, 备注 nvarchar(200))
declare @表二 table(id nvarchar(4),品种 nvarchar(20),定价日期 datetime,收货日期 datetime,是否特价 nvarchar(1))
insert into @表一 select id,村名,联合生产队,接货人,输入日期,备注 from @aa
insert into @表二 select id,花生 ,定价日期,收货日期,特价 from @aa
insert into @表二 select id,地瓜 ,定价日期,收货日期,特价 from @aa
insert into @表二 select id,小麦 ,定价日期,收货日期,特价 from @aa
select * from @表一
select * from @表二
---结果
id 村名 联合生产队 接货人 输入日期 备注
---- -------------------- -------------------- ---------- ----------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01 陈村 一队 cany 2007-07-25 00:00:00.000 NULL
02 杨村 四队 cany 2007-07-25 00:00:00.000 NULL
04 陈村 一队 Kate 2007-10-12 00:00:00.000 NULL
06 陈村 三队 Kate 2007-10-12 00:00:00.000 NULL
(4 row(s) affected)
id 品种 定价日期 收货日期 是否特价
---- -------------------- ----------------------- ----------------------- ----
01 20 2007-07-16 00:00:00.000 2007-07-23 00:00:00.000 N
02 17 2007-07-16 00:00:00.000 2007-07-23 00:00:00.000 N
04 14 2007-09-22 00:00:00.000 2007-10-08 [1] [2] [3] [4] [5] 下一页
|
|
|