SQL插入声明中的错误 [英] ERROR IN SQL INSERT STATEMENT
问题描述
你好,
我在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屋!