SQL插入声明中的错误 [英] ERROR IN SQL INSERT STATEMENT

查看:87
本文介绍了SQL插入声明中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我在SQL中有一个名为[TRN_ADVISOR]的表,该表中存在一些不同分支的数据,并且我想将这些记录插入另一个表XYZ.但是会引发错误:

消息116,第16级,状态1,第3行
如果未使用EXISTS引入子查询,则只能在选择列表中指定一个表达式.
消息213,第16级,状态1,第1行
列名或提供的值数与表定义不匹配.

表格的结构和插入查询如下:

Hello,

I have a Table in SQL named [TRN_ADVISOR] WHERE SOME DATA OF DIFFERENT BRANCHID IS PRESENT AND I WANT TO INSERT THOSE RECORDS INTO ANOTHER TABLE XYZ.BUT IT THROWS AN ERROR :

Msg 116, Level 16, State 1, Line 3
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
Msg 213, Level 16, State 1, Line 1
Column name or number of supplied values does not match table definition.

THE STRUCTURE OF THE TABLE AND THE INSERT QUERY IS GIVEN BELOW:

CREATE TABLE [dbo].[XYZ](
    [SEQID] [int] NULL,
    [COMPANYID] [int] NULL,
    [BRANCHID] [int] NULL,
    [COUNT] [int] NULL
) ON [PRIMARY]


INSERT INTO XYZ VALUES (SELECT 111,1,[BRANCHID],COUNT(*)
  FROM [TRN_ADVISOR]
  GROUP BY [BRANCHID])




请尽快进行帮助.

谢谢与提醒
DEEPAK




PLEASE HELP ASAP.

THANKS AND REGARDS
DEEPAK

推荐答案

这意味着您要使用的列名在TRN_ADVISOR表中不存在.顺便说一句,为什么要在该插入语句中执行COUNT(*)?
That means that the column name you''re trying to use doesn''t exist in the TRN_ADVISOR table. BTW, why are you doing a COUNT(*) in that insert statement?


如果您正在从另一个表中进行选择,则不需要VALUES关键字,您只需INSERT INTO \ SELECT FROM如下...

If you''re selecting from another table, you don''t need the VALUES keyword, you can just INSERT INTO \ SELECT FROM as follows...

INSERT INTO XYZ (SEQID, COMPANYID, BRANCHID, COUNT)
SELECT 111,1,[BRANCHID],COUNT(*)
FROM [TRN_ADVISOR]
GROUP BY [BRANCHID]


这篇关于SQL插入声明中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆