SQL Server 错误:“SQL Server 子查询返回超过 1 个值”

2023-12-28

“子查询返回超过 1 个值。当子查询跟在 =、!=、、>= 后面或子查询用作表达式时,这是不允许的。”

我在调试以下代码时收到此有线错误消息:

    WHEN NOT EXISTS(SELECT  1
                    FROM    defs WITH(NOLOCK)
                    WHERE   defaultname = @DEFAULT_CURRENCY
                    AND defaultvalue= @currency)
    AND NOT EXISTS( SELECT  1
                    FROM    supp WITH(NOLOCK)
                    WHERE   pint    = @ID
                    AND currency= @currency)
           THEN "NOT VALID." 

关于错误消息,我找不到我的代码有任何问题。此外,当我更改时,此错误消息消失'AND' to 'OR'.

    WHEN NOT EXISTS(SELECT  1
                    FROM    defs WITH(NOLOCK)
                    WHERE   defaultname = @DEFAULT_CURRENCY
                    AND defaultvalue= @currency)
    OR NOT EXISTS(  SELECT  1
                    FROM    supp WITH(NOLOCK)
                    WHERE   pint    = @ID
                    AND currency= @currency)
            THEN "NOT VALID." 

我需要使用“AND”条件,但如何消除错误?

(代码片段中的所有@变量都不是表变量。)

提前致谢。


该错误告诉您您的子查询之一,但我不认为这些子查询是给出错误的子查询。 如果您使用 and 'exist' (或 'not exit' ),您也可以使用 TOP 1,因为您只需要检查一行。

这意味着您可以使用:

WHEN NOT EXISTS(SELECT TOP 1 1
                    FROM    defs WITH(NOLOCK)
                    WHERE   defaultname = @DEFAULT_CURRENCY
                    AND defaultvalue= @currency)
    OR NOT EXISTS(  SELECT TOP 1  1
                    FROM    supp WITH(NOLOCK)
                    WHERE   pint    = @ID
                    AND currency= @currency)

但这不是导致您错误的原因。 此示例代码执行相同的操作并且工作正常:

declare @table1 table (
    id int,
    value nvarchar(100)
)

declare @subquery table (
    id int,
    value nvarchar(100)
)

insert into @table1 values (1, 'one')
insert into @table1 values (2, 'two')
insert into @table1 values (3, 'three')
insert into @subquery values (1, 'also one')
insert into @subquery values (3, 'also three')
insert into @subquery values (5, 'also five')


select * from @table1 sourceTable
where not exists (select 1 from @subquery where id = sourceTable.id)
     and not exists (select 1 from @subquery where value = sourceTable.value)

所以我认为它一定在你查询的另一部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 错误:“SQL Server 子查询返回超过 1 个值” 的相关文章

  • 无法访问 Big Query 中类型为 ARRAY> 的字段

    我正在尝试在 BigQuery 上使用标准 SQL 方言 即不是旧版 SQL 运行查询 我的查询是 SELECT date hits referer FROM refresh ga sessions xxxxxx LIMIT 1000 但不
  • FireDac 添加下划线 1 以区分具有相同名称的 2 个列名

    我有一个连接 2 个表的选择 因此这些表中存在具有相似名称的列 因此现在在检索结果时 FireDac 将下划线 1 添加到第二个列名称以区分这两个表 Select from Table1 inner join Table2 on Table
  • 什么是动态 SQL 查询?何时需要使用动态 SQL 查询?

    什么是动态 SQL 查询 何时需要使用动态 SQL 查询 我正在使用 SQL Server 2005 这里有几篇文章 动态SQL简介 http www sqlteam com article introduction to dynamic
  • 单个查询删除并显示重复记录

    采访中提出的问题之一是 一张表有100条记录 其中 50 个 是重复的 是否可以用单个 查询删除重复记录 从表中以及选择和 显示剩余 50 条记录 这可以在单个 SQL 查询中实现吗 Thanks SNA 对于 SQL Server 你会使
  • pyspark.sql.functions.window 函数的“startTime”参数和 window.start 有何作用?

    示例如下 df spark createDataFrame 1 2017 05 15 23 12 26 2 5 1 2017 05 09 15 26 58 3 5 1 2017 05 18 15 26 58 3 6 2 2017 05 15
  • 如何调试参数化 SQL 查询

    我使用 C 连接到数据库 然后使用 Ad hoc SQL 来获取数据 这个简单的 SQL 查询非常方便调试 因为我可以记录 SQL 查询字符串 如果我使用参数化 SQL 查询命令 有没有办法记录 sql 查询字符串以进行调试 我想就是这样的
  • 处理大数据表时应该如何使用Hibernate Mapping

    问题定义 我有一个包含大量数据 超过 100 000 行 的数据库表 表结构如下 AppID DocID DocStatus 1 100 0 1 101 1 2 200 0 2 300 1 每个 applicationID 可能有数千个文档
  • SQL Server 2008 GUID 列全为 0

    我希望这是我做的一个简单的傻事 我的数据库中有一个表 设置如下 column name widget guid data type uniqueidentifier allow nulls false default value newid
  • 如何在 CAST/CONVERT 之前检查 VARCHAR(n) 的 XML 格式是否正确

    我的公司有一个日志表 其中包含VARCHAR N 放置字符串的列 即supposed是 XML 但事实证明它并不总是格式良好的 为了对日志记录进行分析 以确定错误趋势等 我一直在使用LIKE陈述 然而 这非常慢 最近 我发现SQL Serv
  • 如何获得组中“中间”值的平均值?

    我有一个包含值和组 ID 的表 简化示例 我需要获取中间 3 个值的每组的平均值 因此 如果有 1 2 或 3 个值 则它只是平均值 但如果有 4 个值 它将排除最高值 5 个值将排除最高值和最低值 等等 我正在考虑某种窗口函数 但我不确定
  • 从头开始构建 OLAP 解决方案时应该注意什么?

    我在一家运行基于 MS SQL 数据库服务器的软件产品的公司工作 多年来我已经用 PHP 开发了 20 30 个相当高级的报告 直接从数据库获取数据 这非常成功 人们对此感到高兴 但它有一些缺点 对于新的变化 它可能是相当开发密集型的 用户
  • where 子句中的双 %% ?

    我有一个 where 子句 如下例所示 WHERE subject LIKE chef AND dep LIKE psy 使用 1 或 2 符号有什么区别 我知道其中一个的含义 通配符 但不知道第二个添加的功能是什么 该查询可能是一个拼写错
  • SQL Server - SQL 替换整个数据库中所有表中的所有列

    这是一个很遥远的事情 我猜这个问题没有简单的答案 但是 我继承了一个数据库 其中填充了一些可怕的数据 许多包含描述的行都有回车符 这意味着当我们 BCP 输出数据时 它会带有回车符 我的问题 有没有办法在 MS SQL Server 中对整
  • 更高效的 LINQ 查询

    有人可以帮我将此查询循环变成高效的 Linq 查询吗 我将其加载到 TreeView 中 因此必须附加每个项目 包含也非常低效 延迟加载项目也不起作用 事实上 这个查询访问数据库的次数比应有的要多 public IQueryable
  • 在 SQL Management Studio 2012 中调试

    我正在使用 Management Studio 2012 但无法调试任何 SQL 代码 在我点击 调试 按钮后 左侧没有看到任何绿色箭头 并且我的 SQL 对象都没有加载到内存中 当我将光标移到我设置的断点上时 我收到此消息 The bre
  • Razor C# - 从数据库获取数据

    我正在使用 WebMatrix 我创建了一个数据库并放置了一个包含几行数据的表 我可以连接到它并获取数据WebGrid 但它只提供了一种使用表格输出数据的方法 这是我的 shows cshtml 代码 var db Database Ope
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • SSRS ReportViewer 与 XML 嵌入数据源相关的问题

    我有 C WPF 应用程序 我想在 ReportViewer 控件中显示 SSRS 报告 本地报告文件中嵌入了 XML 数据源 从 SQL Server Business Intelligence Development Studio 运行
  • parent_id 是外键(自引用)并且为 null?

    浏览 Bill Karwin 的书 SQL Antipatterns 第 3 章 Naive Trees 邻接表 父子关系 有一个注释表的示例 CREATE TABLE Comments comment id SERIAL PRIMARY
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p

随机推荐

  • 没有找到现成的 kinect?

    我是 Kinect 编程的初学者 我已经安装了windows sdk 我尝试在开发人员中运行示例 然而 它说 没有找到准备好的kinect 我知道知道为什么 有人能帮我解决这个问题吗 多谢 Yuanhui 我也是初学者 其实我昨天刚拿到ki
  • ServiceStack“新”api 和异步等待

    服务堆栈版本 3 我很熟悉https github com ServiceStack ServiceStack wiki New API https github com ServiceStack ServiceStack wiki New
  • jsPlumb:拖动新连接应删除现有连接

    使用 jsPlumb 我设法进行了以下设置 有多个节点 其作用类似于特殊类型流程图中的节点 每个节点都有一个可以将连接丢弃到的目标 每个节点都有零个 一个或多个出口 每个出口作为jsPlumb源 最多允许有1个连接 先举个小例子 http
  • Internet Explorer innerHTML 输出不带引号的属性

    我正在使用 IE 8 并尝试设置元素 Id 属性 然后我将该元素附加到父元素并检查它的innerHTML 我看到的问题是 id 属性缺少双引号 起初我认为这可能是因为我使用了 setAttribute 属性 而这在 IE 8 中可能有问题
  • Git Pull:更改身份验证

    我对 git 很陌生 我在服务器 A 上设置了一个存储库 其中通过 ssh rsa 密钥进行访问 我在那里有一些用户 包括我自己 现在我做git clone在我的本地计算机上获取本地副本 进行更改 然后push origin master
  • html 在所有设备上保持相同的字符大小

    我用几个输入按钮做了一个关于 html 的练习 http bullmalay appspot com http bullmalay appspot com 我在手机上访问它 但我发现文字尺寸真的很小 我认为原因在于分辨率 谁能帮我调整一下文
  • Java 中的连接字符串是否总是会导致在内存中创建新字符串?

    我有一条很长的字符串 不适合屏幕的宽度 例如 String longString This string is very long It does not fit the width of the screen So you have to
  • 无法使用带有节点的express使用res.send()发送数字

    我正在尝试使用节点中的 Express 获得 imdb 评级 但我很挣扎 电影 json id 3962210 order 4 361276149749756 1988 fields year 2015 title David and Go
  • 单击时导航项标题消失

    我创建了带有导航视图的抽屉 我有正在调用其他活动的导航项目 问题是当我单击导航项时 其他活动启动 如果我返回主活动并打开抽屉 则单击的导航项的标题消失 只有我可以看到该项目的图标 code public class MainActivity
  • 带有文本、复选框、选择的 jQuery 表过滤器

    需要使用文本搜索 复选框和选择从表外部过滤表 PicNet 表过滤器 http www picnet com au resources tablefilter demo htmfor jQuery 适用于搜索和使用表外的复选框 尽管我找不到
  • Twitter Bootstrap - 100% 高度

    我正在尝试使用 twitter bootstrap 框架为我的应用程序设计一个管理面板 但我无法让我的布局正常工作 I was inspired by this design It would be a two column layout
  • 如何将不同的 DataFrame 组合成一个分组条形图

    我正在尝试复制答案this https stackoverflow com questions 65052443 creating a grouped bar plot with seaborn问题 我看不出我在做什么有什么不同 我的输出
  • 无法从 Linux 连接到 SQL Server

    我正在尝试连接到 CentOS 5 8 上的 SQL Server 2008 我正在使用 unixODBC 2 3 0 和 SQL Server ODBC 驱动程序 www microsoft com en us download deta
  • 链接描述文件中的 KEEP 是什么意思?

    The LD手册 http ftp gnu org old gnu Manuals ld 2 9 1 html mono ld html SEC2没有解释什么KEEP命令执行 下面是第三方链接描述文件的一个片段 其特点是KEEP 什么是KE
  • 在php中组合两个(或更多..)多维数组

    我有一个使用不同参数运行多次的查询 我正在使用 xml 解析器将结果返回给 jQuery 我似乎无法找到一种方法来组合第一个 节点 上的结果而不覆盖第一个条目 简化的代码示例 temp1 returnArray 0 temp2 return
  • 如何像 DevTools 那样突出显示 Chrome 扩展中的元素?

    我有兴趣创建一个 Chrome 扩展程序 它列出了网页上菜单中具有 id 属性的所有元素 然后 当用户单击菜单中的元素时 网页上相应的元素就会突出显示 当您右键单击并检查某个元素时 我看到 Chrome 开发工具会突出显示该元素 我很好奇是
  • uint32_t 和 uint8_t[4] 未定义行为的联合? [复制]

    这个问题在这里已经有答案了 在评论中这个答案 https stackoverflow com a 8568531 1025391据说使用如下联合将整数分割成字节将是未定义的行为 该位置给出的代码与此相似但不完全相同 如果我更改了代码的未定义
  • 使用 SIS 执行 postgres db init 的批处理文件给出权限被拒绝

    跟随我的上一个问题 https stackoverflow com questions 30924913 how to install postgres with nsis with all parameters我现在尝试通过 NSIS 代
  • 将 StackNavigator 与 TabNavigator 集成

    如何组合 StackNavigator 和 TabNavigator 我的以下代码有效 索引 android js import React Component from react import AppRegistry Text View
  • SQL Server 错误:“SQL Server 子查询返回超过 1 个值”

    子查询返回超过 1 个值 当子查询跟在 gt 后面或子查询用作表达式时 这是不允许的 我在调试以下代码时收到此有线错误消息 WHEN NOT EXISTS SELECT 1 FROM defs WITH NOLOCK WHERE defau