收录日期:2019/04/26 16:14:40 时间:2016/05/23 01:20:57 标签:基础类
table1内容如下:(AAA为主键)
AAA,   CCC,    DDD
1003   M003    50
1002   M002    70

table2的內容如下: (AAA+BBB为主键)
AAA,   BBB,  CCC,    DDD
1001   T01    M001    89
1002   T01    M002    70
1001   T02    M001    92
1001   T03    M001    75
1003   T01    M003    50
1002   T03    M002    70
1004   T01    M004    65

我想将table2中的如下記錄新增到table1表中,
(条件就是table2中有AAA,而tabel1中没有的AAA记录,)
AAA,   CCC,    CCC
1001   M001    89
1004   M004    65

請問這個SQL語句如何寫?(关于insert...select...语句的使用)

使用:insert table1
select distinct AAA,CCC,DDD 
from table2 
where aaa not in (select aaa from table1)
返回值如下:
AAA,   BBB,  CCC,    DDD
1001   T01    M001    89
1001   T02    M001    92
1001   T03    M001    75
1004   T01    M004    65

请问如何返回要求的值?
正确的结果及应该为:
AAA,   CCC,    DDD
1001   M001    89
1001   M001    92
1001   M001    75
1004   M004    65
你要记住distinct是和select结合在一起的,而不是和AAA结合在一起的
正是因为DDD字段89,92,75在三条记录不同,所以这三条记录就是不同的
所以,按照你的要求,你没写错.

你这样的问题是不可以用语句写好的,因为你只列出着几条数据,要是数据多的话会因为主键重复而不能在表AAA中插入数据,就你现在也同样存在这样的问题,除非你不一部分数据
你要确定CCC、DDD字段怎么取数据才行。

感觉你的表结构设计不合理。
insert table1
select AAA,CCC,DDD 
from table2 
where aaa not in (select distinct aaa from table1)

EJB菜鸟级问题,我有分可捐赠,那位要请在这里说 报错的原因(Invalid cursor state) infopower有没有for BCB5的呢??哪里可以下载?? 奇怪的现象! 关于接口 请大家提供方案 同志们我想问的是高程中考的是标准C还是C++ SQL查询结果问题 在Delphi中我如何得到,打印机任务个数? 刚上来散分了 安装softice后,机器不能启动了!!!!!! datawindow的edit有editchanged事件,即一改变内容就触发,我想将这个事件加在multilineedit控件里,自定义事件要选择哪个EventID? 在存储过程中如何使用表名变量? 一点小问题,请帮帮忙 菜鸟求助 用VC对WORD文档进行一些操作,高分求救 Suspicious pointer conversion 是什么警告啊? 有哪位高手知道微软提供的的简繁互转的组件是哪个,在线等待,高分送 紧急求助!!既可以选择还可以接受用户输入的下拉选框!!万分感谢!! 在jsp页面中如何实现显示一行文字消息后再更改该文字的内容?? 高分求Excel基本操作代码,如打开关闭文件、取单元格数据之类的 关于MSHFLexGrid与ADODC的几个问题 什么是内建数据库? 请问Delphi 6怎么样才能激活Invokable向导? 安装softice后,不能启动机器了!!!!!!!! 听听StringGrid 隐藏行的好建议,别讲RowHeight[i]=0阿 关于VB调用Excel打印报表的问题 哪有电脑知识问答题? 我有项目,有谁参加??? 请问哪儿能下载模块 ming?