CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

insert语句的写法

楼主dongchunguo(wu)2004-09-01 12:50:22 在 MS-SQL Server / 应用实例 提问

有两个表: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

相关问题

  • sql 语句写法.
  • sql语句写法
  • sql语句写法
  • SQL语句写法。
  • sql语句写法
  • Excel语句写法
  • sql语句- 写法!
  • 急问一个SQL语句的写法?insert (..) select @=
  • 请教SQL语句写法
  • 关于sql语句写法

关键词

  • 编码
  • code
  • 数据
  • dataa
  • datea
  • dateb
  • datab
  • table2
  • 日期
  • table1

得分解答快速导航

  • 帖主:dongchunguo
  • zjcxc
  • yjdn
  • wanyingsong
  • tx1icenhe
  • zhushizu
  • talksmile
  • wutao411

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo