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
2013-12-31 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1012万
展开全部
数据库是基于集合论的,表中记录是无序的,象数组那样对位拷贝很麻烦的
只能提个建议,对着后五条和前五条同时循环并对位更新,这个比较容易
如果只是根据短标题与标题对应,这个可以
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自己加上
xmc125888
2013-12-31 · TA获得超过814个赞
知道小有建树答主
回答量:409
采纳率:0%
帮助的人:296万
展开全部
UPDATE table1 t SET c = (select t1.c from table1 t1 where t.b=t1.c and t1.c is not null)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式