苏飞论坛
标题: insert into select复制表并去重复的方法 [打印本页]
作者: 站长苏飞 时间: 2013-11-29 11:03
标题: insert into select复制表并去重复的方法
[SQL] 纯文本查看 复制代码
INSERT newtabname NAME, sex
SELECT NAME, sex FROM (
SELECT DISTINCT NAME, sex
FROM oldtabname
WHERE NAME='123456'
) AS t WHERE t.NAME
NOT IN(SELECT NAME FROM newtabname
WHERE t.NAME=NAME AND t.sex=sex)
代码都在上面大家自己看吧。我就是做个记录方便 查找
下面我做一下分析吧。
[SQL] 纯文本查看 复制代码
SELECT DISTINCT NAME, sex
FROM oldtabname
WHERE NAME='123456'
这个是查询老表里面所有不重复的数据列
[SQL] 纯文本查看 复制代码
INSERT newtabname NAME, sex
SELECT NAME, sex FROM (
SELECT DISTINCT NAME, sex
FROM oldtabname
WHERE NAME='123456'
) AS t
当然这个是将查询到的数据写入到新表
[SQL] 纯文本查看 复制代码
WHERE t.NAME
NOT IN(SELECT NAME FROM newtabname
WHERE t.NAME=NAME AND t.sex=sex)
这是排除老表在新表中存在的数据
连接在一起就是这样了
[SQL] 纯文本查看 复制代码
INSERT newtabname NAME, sex
SELECT NAME, sex FROM (
SELECT DISTINCT NAME, sex
FROM oldtabname
WHERE NAME='123456'
) AS t WHERE t.NAME
NOT IN(SELECT NAME FROM newtabname
WHERE t.NAME=NAME AND t.sex=sex)
大家可以做做测试有问题再讨论
欢迎光临 苏飞论坛 (http://www.sufeinet.com/) |
Powered by Discuz! X3.4 |