sql-SQL inset into 语句中where出错,谢谢

问题描述

SQL inset into 语句中where出错,谢谢

INSERT INTO Tab_Checksum ([name],checkdate,startclass,finishclass,later,absenteeism,early,normal)
SELECT [name],
checkdate,
SUM(startclass) startclass,
SUM(finishclass) finishclass,
SUM(later) later,
SUM(absenteeism) absenteeism,
SUM(startclass)+SUM(later)-SUM(finishclass) early,
SUM(finishclass)-SUM(later)
FROM Tab_Check
where Tab_Checksum.checkdate != Tab_check.checkdate//错误行

  GROUP BY [name],checkdate
  ORDER BY [name],checkdate

错误 无法绑定由多个部分组成的标识符 "Tab_Checksum.checkdate"。

解决方案

你这是Insert语句,select中Tab_Checksum.checkdate != Tab_check.checkdate是不对的,访问不到Tab_Checksum表

解决方案二:

你应该用

 not exists(select top 1 1 from Tab_Checksum where Tab_Checksum.checkdate = Tab_check.checkdate)
时间: 2016-03-29

sql-SQL inset into 语句中where出错,谢谢的相关文章

解析Sql :从update 语句中解析出select语句

问题描述 现在有一个任务,有一批的命令,都是update,insert,delete的批操作.还有一个要求,在执行操作时需要记录下更新数据的历史状态.例如:updatetab1setcol='**',col2='***'whereidin(selecttidfromtab2whereenable='Y ')我的处理是这样的:1.首先解析后得到:select*fromtab1whereidin(selecttidfromtab2whereenable='Y') 2.执行select将历史数据保存到

深入浅出SQL教程之SELECT语句中的表连接

为了从两个或多个表中选出数据,我们一般使用表连接来实现这个功能. 本节介绍join(连接)的概念. 为此我们准备了两个试验用表: album(专辑表) 和 track(曲目表). 专辑表:包含200首来自Amazon的音乐CD的概要信息. album(asin, title, artist, price, release, label, rank) 曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息. track(album, dsk, posn, song) SQL短语 FR

sql 语句中字符类型的转换问题,在线等!!!急!!!

问题描述 sql 语句中字符类型的转换问题,在线等!!!急!!! select 'http//'+ID+'.html' as LINK from A ID的字符类型是bigint的,出现错误提示:"从数据类型 varchar 转换为 bigint 时出错."求解决语法!!! 解决方案 select 'http//'+convert(varchar(20)ID)+'.html' as LINK from A 解决方案二: select 'http//'+cast t(ID as varc

sql连接语句中的Integrated Security=SSPI/ture/false

erver=localhost;database=Northwind; integrated security=SSPI  Microsoft安全支持提供器接口(SSPI)是定义得较全面的公用API,用来获得验证.信息完整性.信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务.应用程序协议设计者能够利用该接口获得不同的安全性服务而不必修改协议本身. 上面这句话的意思就是这个连接采用了这个接口,如果没有定义就会出错! Integrated Security 身份验证方式 当为f

package-怎么在SQL语句中对抽出的字段的值进行判断?

问题描述 怎么在SQL语句中对抽出的字段的值进行判断? 要求是这样的,举个例子** SELECT A,B,C FROM TAB1 , 要求如果A的值为0的话就显示为空,请问怎么加判断啊?在哪里加呢? 解决方案 我已经写出来了,谢谢各位,还是跟大家分享一下 SELECT DECODE(A,'0','') AS A ,B AS B,C AS C FROM(SELECT A,B,C,D FROM TAB1) 解决方案二: SELECT case A when 0 then "" else c

SQL语句中含有乘号报错的处理办法

在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为'*'与sql中的'*'关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可 int count = (this.AspNetPager1.CurrentPageIndex-1)*this.AspNetPager1.PageSize; string sql = " select top "+count+" E_Id

SQL语句中含有乘号报错的处理办法_MsSql

在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为'*'与sql中的'*'关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可 int count = (this.AspNetPager1.CurrentPageIndex-1)*this.AspNetPager1.PageSize; string sql = " select top "+count+" E_Id

SQL查询语句中的bool类型字段值的写法

  SQL查询语句中的bool类型字段值的写法 没有系统地看过SQL语句的写法说明,只是看了一些常用SQL语句的例子.今天写了条select * from table where sex='true',老是提示标准数据类型不匹配(我用的Access),检查了半天,原来sex字段作为bool(是/否)类型,在SQL语句中其值不需要用''引起来.

解析SQL语句中Replace INTO与INSERT INTO的不同之处

本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下   REPLACE的运行与INSERT很相似.只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除. 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义.该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行. 所有列