+ -
当前位置:首页 → 问答吧 → 根据表中已有的值为条件插入新的行的问题

根据表中已有的值为条件插入新的行的问题

时间:2011-12-14

来源:互联网

表A:
id newsid keynum  
10 2 4


表B

newsid title
1 考试
2 计算机,考试
3 资格
4 AAAAAAAAAAA
5 AAAAAAAAAAAA


需求是这样的,A表中已有了newsid为2的行,我需要在A表中插入新的纪录,
条件是newsid在B表中存在,而且在A表中也存在,然后keynum的值做累加。。

作者: bx1988112   发布时间: 2011-12-14

累加什么

作者: ssp2009   发布时间: 2011-12-14

看不懂.

你究竟是要插入,还是要更新?

作者: qianjin036a   发布时间: 2011-12-14

作者: fredrickhu   发布时间: 2011-12-14

累加keynum,我好像已经想出来了,等等。。先不麻烦了

作者: bx1988112   发布时间: 2011-12-14

还是没搞定。。。继续

作者: bx1988112   发布时间: 2011-12-14

我的意思就是,比如说我的第一次的条件是“计算机”,然后把B表中存在“计算机”的title对应的ID插入到A表中,第二次执行的条件是考试,然后会发现 B表中ID为2的title“计算机考试”里面也包含了“考试”,这时候就要往A表中添加一条新的纪录,而不是修改,只是keynum的值做累加。

作者: bx1988112   发布时间: 2011-12-14

作者: tanjie584520   发布时间: 2011-12-14

帮帮我,我写到这样就写不出来了。
SQL code

insert into A select
(select DISTINCT(newsid) from A where A.newsid in (select newsid from B)) a,
(select max(keynum)+1 from A where A.newsid in (select newsid from B)) b

作者: bx1988112   发布时间: 2011-12-14