sql高手请进(解决另追加100分)

来源:百度知道 编辑:UC知道 时间:2024/07/01 11:16:37
这里有三个表TD_In(x,y,flag)TW(a,b,c,d,e,f),TD_Out(a,b,c),TW中a,b,c与TD_In中x对应,d,e,f与y对应,若TW表中的行在对应的TD_In表中行的flag为空,则把TW中数据插入到TD_Out中,并把TD_In的flag改为1,然后把TW中其他数据插入到TD_Out表中,该怎么做?
我也知道数据库设计有问题,但我的任务是根据要求写出代码,不是告诉上面的人数据库设计有问题!

不好意思,使我理解的有点错误,TW和TD——In没有直接关联,只是TW中的abc合成一条数据数值=x,TD——In(ID,x,y,flag)TD——Out(ID,a,b,c).TD——In中的ID也要插入到Out表中。然后把flag设为1

看不懂做什么?你懂不懂数据库设计的三个范式啊?符合吗??

你的描述就有问题:什么是对应?主外键关系??况且如果只是按你所说的这样来修改,根本也不是什么难事,只要给条件来判断啊,可是你没拿出来任何条件,难道只要我们说怎么做?你自己来写代码?这道题的原型绝对不是这样吧?

要不你把题发到我邮箱我看一下:weitao5212000@yahoo.com

关系有点乱,试试,先取数据
INSERT INTO TD_OUT
SELECT A.ID,B.A.B.B,B.C FROM TD_IN A,TW B WHERE A.X=(B.A+B.B+B.C) AND A.FLAG=''
再更新
UPDATE A SET A.FLAG=1 FROM TD_IN A,TW B WHERE A.X=(B.A+B.B+B.C)

感觉你说的情况不难
但是从你的描述理解这几个表的关系有点难!

数据库设计有问题

不太明白需求

TD_In的外健 xy与abc def怎么样的关系从tw表中看不出来。。。