insert语句的写法
有两个表:table1,table2。table1字段:dateA(日期),code(编码);table2字段:dataB(日期),Code(编码)。我要在table1选出日期大于table2中的日期的数据,和日期等于table2中的日期,同时编码又不等于table2中的数据插入到table2中,请教各位同仁该如何写这个SQL。谢谢。 问题点数:100、回复次数:9Top
1 楼zjcxc(邹建)回复于 2004-09-01 12:58:37 得分 30
insert table2(dateb,code)
select distinct a.datea,a.code
from table1 a,table2 b
where (a.code=b.code and a.datea>b.dateb)
or (a.code<>b.code and a.datea<=b.dateb)
Top
2 楼yjdn(人形机器)回复于 2004-09-01 13:04:57 得分 20
insert into talbe select * from table1 a,table2 b
from (a.dateA>b.dateB) or (a.dateA=b.dateB and a.code <>b.code)Top
3 楼wanyingsong(豌豆)回复于 2004-09-01 13:26:04 得分 20
insert into table2(datab,code) select dataa,code from table1 where dataa>(select max(dataa) from b.datab) union select a.dataa,a.code from table1 a,table2 b where a.code<>b.code and a.dataa=b.databTop
4 楼tx1icenhe(冒牌马可 V0.4)回复于 2004-09-01 13:26:34 得分 10
insert table2(dateb,code)
select distinct a.datea,a.code
from table1 a,table2 b
where (a.datea>b.dateb)
or (a.code<>b.code and a.datea=b.dateb)
Top
5 楼wanyingsong(豌豆)回复于 2004-09-01 13:29:25 得分 0
--上面错了
insert into table2(datab,code) select dataa,code from table1 where dataa>(select max(datab) from table2)--选table1中大于table2日期的所有记录
union
select a.dataa,a.code from table1 a,table2 b where a.code<>b.code and a.dataa=b.datab --选table1中日期等于table2,code<>code的
Top
6 楼zhushizu(从来就没有救世祖)回复于 2004-09-01 13:45:50 得分 5
是呀,我也是想了好久。。关注中。。。Top
7 楼talksmile(凭海)回复于 2004-09-01 13:48:56 得分 0
zjcxc(邹建) 和 tx1icenhe(冒牌马可 V0.2) 写的我看不懂,你们理解他的需求了吗?Top
8 楼talksmile(凭海)回复于 2004-09-01 13:55:06 得分 10
如果需求是要求“在table1选出日期大于table2中的‘所有(或最大)’日期的数据,和日期等于table2中的日期,同时编码又不等于table2中的数据插入到table2中”
那么:
insert into table2(datab,code) select a.dataa,a.code from table1 a join table2 b on a.dataa > (select max(datab) from table2) or (a.dataa = b.datab and a.code <> b.code)Top
9 楼wutao411(了缘)回复于 2004-09-01 14:19:30 得分 5
insert into table2
select table1.*
from table1
where ((table1.dateA>(select max(dateB) from table2)) or (table1.dateA in (select distinct dateB from table2))
and table1.code not in (select distinct code from table2)
Top




