SQL Server查询错误 [英] SQL Server query error

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

问题描述

大家好,



这是我的疑问:



Hello all,

This is my query :

DECLARE @execquery AS NVARCHAR(MAX)

DECLARE @SELECT VARCHAR(MAX) = (SELECT   UserCode + '_EmailAddressInfo' FROM SUser_Master)



SET @execquery =

'SELECT

'+ @SELECT + '.EmailId

FROM '+ @SELECT + '

GROUP BY '+ @SELECT + '.EmailId

'

EXEC(@execquery )







但错误发生



子查询返回超过1值。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。



删除了SHOUTING - OriginalGriff [/ edit]




But Error Is Occured

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

[edit]SHOUTING removed - OriginalGriff[/edit]

推荐答案

错误非常自我解释。您的SELECT查询返回多个值 - 并且您不能为一个NVARCHAR分配多个值。

试试这个:

The error is pretty self explanatory. Your SELECT query returns more than one value - and you can't assign more than one value to a single NVARCHAR.
Try this:
DECLARE @SELECT VARCHAR(MAX) = (SELECT   UserCode + '_EmailAddressInfo' FROM SUser_Master WHERE myColumn='Some Value that only returns a single row')


Hello Ankit,



Hello Ankit,

DECLARE @SELECT VARCHAR(MAX) = (SELECT   UserCode + '_EmailAddressInfo' FROM SUser_Master)





在这里你正在尝试将查询结果存储到变量@SELECT。

但是,如果此查询返回多个值,该怎么办? SQL迷惑它应该存储哪个值?

这就是为什么错误说SubQuery返回多个值。



这里有你一些选项......

你要么把特定的条件放回一个正确的值...

或者从从SUser_Master中选择前1个userCode中取得前1个。(最后选择我)。

或结果Concat(使用','或'|'等)并将其存储到您的变量中。



希望您已经理解了这个问题,这可能会对您有所帮助。



Here you are trying to store result of the Query to a variable @SELECT.
But what if this Query returns more than one value? SQL got confused that which value it should store?
that's why error says "SubQuery Returns More Than One Value."

Here You Have some options...
Either you put specific where condition that returns exact one value...
Or Take top 1 like "Select top 1 userCode from SUser_Master".(Last choice for me).
Or Concat the Result (using ',' or '|' or etc.) and store that into your variable.

Hope You have understand the issue and this might help you.


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

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