php两个sql合并,⼀个sql相同数据合并问题我现在有个A表, 是这样的 ⼤家可以先跳过表 看下⼀句我想要什么
name cart
黄鑫 坏⼈&同学
卢秀秀 同学
刘毅 朋友&同学
sql中union多表合并我现在要新建B表把A表的cart另存进来 B表像这样
id cartname
1 同学
2 朋友
3 坏⼈
也就是数据去重存⼊到新的表中 请问这该⽤怎样的代码来完成呢
回复讨论(解决⽅案)
不明⽩楼主讲的两个表的关系,也不清楚楼主的意图
建议直接⽤脚本来处理这个问题,基本上⽆法⽤⼀条SQL解决(实际上也不建议这样)
程序定期执⾏相关处理逻辑,然后把最新数据插⼊到B表,⾄于去重操作,脚本逻辑很好处理就不多说了
insert into test(cartname)select cart from userinfo group by cart;
我弄了半天 就像是上边这样的 不过还有个&符号去重的问题
其实就是把A表⾥的分类标签字段 去重移⼊到新的表⾥
select substring_index(cart,'&',1) from A表
union
select substring_index(substring_index(cart,'&',2),'&',-1) from A表
union
select substring_index(substring_index(cart,'&',3),'&',-1) from A表
套红的重复若⼲遍
INSERT INTO table_b( cartname )
(
SELECT DISTINCT (cart) FROM table_a
)
&符号分割的部分也需要去重的话,⽤PHP脚本来处理效率可能会⾼⼀点
select substring_index(cart,'&',1) from A表
union
select substring_index(substring_index(cart,'&',2),'&',-1) from A表
union
select substring_index(substring_index(cart,'&',3),'&',-1) from A表
套红的重复若⼲遍
好吧 版主就是版主 ⽤你给的代码已经成功了, 不过我只执⾏了⼀次 好像没什么问题了 谢谢你版主$intosql="insert into 表B(cart)select substring_index(cartname,'&',1) from 表Aunionselect substring_index(substring_index(cartname,'&',2),'&',-1) from 表Aunionselect substring_index(substring_index(cartname,'&',3),'&',-1) from 表A";mysql_query($intosql);
你现在的 cart 中只有⼀个'&',但以后也可能有多个
union
select substring_index(substring_index(cart,'&', 3),'&',-1) from A表
的个数应多于'&'的个数,这样才不易出错
注意那个 3 是顺号,要逐⼀递增
你现在的 cart 中只有⼀个'&',但以后也可能有多个
union
select substring_index(substring_index(cart,'&', 3),'&',-1) from A表
的个数应多于'&'的个数,这样才不易出错
注意那个 3 是顺号,要逐⼀递增
哦 那就是有⼏个&符号就加⼏句
union
select substring_index(substring_index(cartname,'&',[color=#0000FF]3),'&',-1) from 表A[/color]
是吗 然后那个蓝⾊数字是递增的 那如果是1个&符号的话 就⼀句select substring_index(cart,'&',1) from A表就可以了吗 那我是直接按你的⽤到3了 也没问题的吧
没有问题,有问题(取出的项不对)时再加
显然是加的越多效率越低
没有问题,有问题(取出的项不对)时再加
显然是加的越多效率越低
恩 谢谢版主
本⽂原创发布php中⽂⽹,转载请注明出处,感谢您的尊重!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论