sql语句如何写? 有一个表table 里面有A,B,C,D四个字段
假设表里面有10条数据,字段A为自增的id,B为标题,C为短标题,D为空字段。其中前5条数据(条件已知)标题为空,短标题有数据,后5条短标题为空,标题已知,现在我想把后五...
假设表里面有10条数据,字段A为自增的id,B为标题,C为短标题,D为空字段。其中前5条数据(条件已知)标题为空,短标题有数据,后5条短标题为空,标题已知,现在我想把后五条的A字段的值存进前5条的D字段里面去,条件是前五条的C(短标题)=后五条的B(标题),这个SQL如何写啊
说得更明白一点,假设还有个字段E,前五条的值是1,后五条的值是2 展开
说得更明白一点,假设还有个字段E,前五条的值是1,后五条的值是2 展开
2个回答
展开全部
数据库是基于集合论的,表中记录是闷郑袭无序的,象数组那样对蚂兄位拷贝很麻烦的
只能提个建议,对着后五条和前五条同丛段时循环并对位更新,这个比较容易
如果只是根据短标题与标题对应,这个可以
update 表 t1 set D=(select A from 表 t2 where t2.标题=t1.短标题)
只能提个建议,对着后五条和前五条同丛段时循环并对位更新,这个比较容易
如果只是根据短标题与标题对应,这个可以
update 表 t1 set D=(select A from 表 t2 where t2.标题=t1.短标题)
更多追问追答
追问
UPDATE a SET a.D=b.A from `table` a left join (select * from `table` where E=2) b on b.B=a.C
你看下,这样写有问题吗?被提示有语法错误
追答
象我上面写的应该行
也可试下
UPDATE `table` a, `table' b SET a.D=b.A
where b.E=2 and b.B=a.C
对于a的where自己加上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |