阅读653 返回首页    go 阿里云 go 技术社区[云栖]


Subqueries are not allowed in this context. Only scalar expressions are allowed.

我想获取表中某一列的最大值,然后插入到另外一个表中,报错的Sql如下:

insert into AA(AA_ID,AA_YWFSRQ) 
values
(NewID(),(  SELECT   CONVERT(varchar, DATEADD(day,- 1, CAST(SUBSTRING(MAX(YEB_RQ), 1, 4) 
                                    + SUBSTRING(MAX(YEB_RQ), 5, 2) + SUBSTRING(MAX(YEB_RQ), 7, 2) 
                                     AS datetime)), 112) FROM      YEB ));
修正:

insert into AA(AA_ID,AA_YWFSRQ) 
select
NewID(),(  SELECT   CONVERT(varchar, DATEADD(day,- 1, CAST(SUBSTRING(MAX(YEB_RQ), 1, 4) 
                                    + SUBSTRING(MAX(YEB_RQ), 5, 2) + SUBSTRING(MAX(YEB_RQ), 7, 2) 
                                     AS datetime)), 112) FROM      YEB )
错误提示信息:
        Subqueries are not allowed in this context. Only scalar expressions are allowed.

==》在此上下文中不允许使用子查询。只允许使用标量表达式。

最后更新:2017-04-03 20:19:25

  上一篇:go Sql_Server中如何判断表中某列是否存在
  下一篇:go C# WinForm多线程开发(二) ThreadPool 与 Timer