如何把SQL数据表中一个字段的值按逗号分隔存入另外一个表,并删除重复记录?

比如:字段名为mylab,有3条(实际有多条)记录,值分别为:中国,人民,解放军,胜利;中国,人民,和平;祖国,强大,胜利;想得到一个表,字段名为mykey,希望结果7条... 比如:字段名为mylab,有3条(实际有多条)记录,值分别为:中国,人民,解放军,胜利;中国,人民,和平;祖国,强大,胜利;
想得到一个表,字段名为mykey,希望结果7条(实际情况下将有很多条)记录,值分别为:中国;人民;解放军,胜利;和平;祖国;强大。
展开
 我来答
完美又温文尔雅的小柠檬1995
2011-09-13 · TA获得超过590个赞
知道答主
回答量:266
采纳率:0%
帮助的人:126万
展开全部

比如找A表中的rank字段以,分开,分别加入到B表的字段中
<%
'rank的值为a,b,c,d,e,f
set rs=server.CreateObject("adodb.recordset")
sql="select rank from a"
rs.open sql,conn,1,3
if not rs.eof then
do while not rs.eof
rank=rs("rank")&",,,,,,,,,,,,,"'这里之所以要加后面的字符串的原因在于:第一是rs("rank")字段中没有",",第二是b表中取的xrank(4)若在rs("rank")没有的情况下,会报错,没以这里加上后面的字符串,就自定义其xrank(4)为空的
xrank=split(rank,",")
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from b"
rs1.open sql1.conn,1,3
rs1.addnew
rs1("b1")=xrank(0)
rs1("b2")=xrank(1)
rs1("b3")=xrank(2)
rs1("b4")=xrank(3)
rs1("b5")=xrank(4)
rs1.update
rs.movenext
loop
end if
%>
wangzhiqing999
2011-09-13 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3350万
展开全部
什么数据库?
SQL Server 么?
如果是 SQL Server 2005/2008 的话, 是可以实现的。

就是首先 将一行拆分为多行。然后 合并重复记录。

参考资料: http://hi.baidu.com/wangzhiqing999/blog/item/0c2fd3ad2ddcc0f31f17a21d.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2011-09-13 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1411万
展开全部
思路:
先拆开后插入临时表中,
再distinct 去重,再连接起来插入至你的表中.

可以把这个写成个方法,调用.
追问
非常感谢您的思路,如果有空,还请费心写个实例并加一点注释说明!我是新手刚开始学习!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式