收录日期:2018/11/16 16:13:57 时间: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)

请问高手java类的位置 在大连华信工作(或很熟悉华信)的兄弟姐妹请进! 为什么不能用管道对一个可以持续运行的控制台程序重定向?? 关于 Raw Socket: 原始套接字 到底能不能 \"截获\" 数据包 呀 ? 有关断言的问题 来个测试,了解你是男性化还是女性化 新手提问 急,sql server 2000 占资源问题! 求助高手如何在一个窗口中取得鼠标的相对位置 现在JSP一般都跑在什么平台上? 求助高手如何在一个窗口中取得鼠标的相对位置 请教:在对话框中如何调用打印预览?HELP…… 无法编辑office 2003的数学公式?? 太离谱的问题了!!!!!!!!!!!! 用vc控制PowerPoint的操作 这几个表达式到底有什么区别? 急,sql2000占内存问题!!! 无法编辑office 2003的数学公式?? 如何对远程计算机进行控制(如:当客户端打开IE是,输出提示) 有没有一个函数能够得到给定月份的天数? \"Java重装上阵\" 还是“Java矩阵革命”? 没分了,但是……还要问问题。(关于多媒体多媒体) [人生]程序员和狗 smartphone下开发能用MFC吗? VC与VB如何实现双向通信? 怎么判别点击的是mshflexgrid 下边导航条(就是左右的哪条) 新手提问--怎么样改变程序的图标 请问DataView是什么东西 和DataSet DataTable有什么区别 高份请教!急!!!!! 名称的表示