我是刚才卖老婆的,我求解。。。求解啊。。。
遇到了一个问题,很郁闷将excel表里面的东西导入到sql2000。
数据库的结构
用户表: user_id user_name dpt_id
部门表:dpt_id dpt_name
excel的结构是这样的:
部门 用户
研发 张三
研发 张三
客服 李四
大家看到了,excel的数据是冗余的,我要将其导入到sql2000的亮个表里,怎么搞呢?
并且还要保证部门和用户相互对应。。。希望各位高手给个答案...
还有别的办法可以搞定吗??
救命啊。。。 --------------------编程问答-------------------- 先把部门 distinct的导入
然后 导入用户的时候 分析 对应部门在部门表的 id 导入... --------------------编程问答--------------------
大神,我的excel分为 sheet1 sheet2 sheet3 而这三个里面都有部门列,我已经把sheet3 的部门导入到部门表了,但是sheet3里面的部门 在 sheet1,sheet2 里面都有重复,怎么办啊。。。
help me,,,, --------------------编程问答-------------------- 可以把部门全部取出来 很好解决的 看数据库 存在就不放
--------------------编程问答-------------------- 晕,这么多贴
先在你excel里添加一个id列,数据从1,2,3,4,5...n,并保存excel
然后打开sqlserver2000,选择导入数据,从excel导入到sqlserver,你可以导到一个新建的表里,假设叫tblExcel
然后在通过下面sql语句删除tblExcel里的重复数据(即你说的冗余数据)
delete from
tblExcel A
where
exists(select 1 from tblExcel Where 部门=A.部门 AND 用户=A.用户 and ID>A.ID)
然后你再把tblExcel拆分成两个表
--部门表
insert into 部门表 select ID AS dpt_id,部门 AS dpt_name from tblExcel--------------------编程问答--------------------
delete from 部门表 A where exists(select 1 from 部门表 where dpt_name=a.dpt_name and dpt_id>a.dpt_id)
--用户表
insert into 用户表 select ID AS user_id,用户名 AS User_name, 部门表.dpt_id AS dpt_id
from tblexcel join 部门表 on tblexcel.部门=部门表.dpt_name
大神,我似乎有些明白您的旨意啦。不过这中间还是有一些小问题,就是如何将excel的内容全部导入到一个表里呢?我在sql2000工具->数据转换->导入,然后不知道该怎么弄了。。。您赐教啊。。您用您最淡定的,最犹豫的语言再帮我一次把。。阿门,上帝与你同在。。 --------------------编程问答-------------------- 连老婆都卖的人。。。。。
居然有人帮你。。。。。 --------------------编程问答--------------------
老大,你不是吧。。我那是为了强调我强烈需要帮助的夸张口气。。囧。
我被你雷到~~~ --------------------编程问答-------------------- 哈哈,顶...... --------------------编程问答-------------------- 帮顶。。。 --------------------编程问答-------------------- 通过sql也可以读取execl
SELECT * into #tmp1
FROM OpenDataSource('MICROSOFT.JET.OLEDB.4.0','User ID=Admin;Password=;Data Source=你的execl路径;Extended Properties=''Excel 8.0;HDR=Yes;IMEX=1''')...sheet1$
类似这样插入到临时表#tmp1,把你这个工作区间的都读取出来,这一个表中使用DISTINCT 排除相同的 ,
然后执行你的操作。
补充:.NET技术 , ASP.NET