美文网首页
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、

子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、

作者: 吉凶以情迁 | 来源:发表于2023-09-03 15:03 被阅读0次

原来语句如下

    select ( select NO
        from Student aa   where X_ID in(419) and NO<>a.NO and GROUP=a.GROUP) from Student  a
    where a.X_ID in(419 ,192,307 ) and a.NO =378

最简单的办法是加 一个top 1 只查询一条,那么如何打印出多条结果呢?

如果出现多个就导致无法操作
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。 如何直接输出多个

改用CROSS APPLY

SELECT *
FROM Student a
CROSS APPLY (
    SELECT NO
    FROM Student  aa
    WHERE X_ID= 419 AND NO <> aNO AND GROUP = a.GROUP
) AS SubQueryResult
WHERE a.X_ID IN (419, 192, 307) AND a.NO = 378

相关文章

  • 数据库数据查询之嵌套查询与集合查询

    一、嵌套查询 【实验内容】 1.返回一个值的子查询2.返回一组值的子查询 【实验步骤】 1.返回一个值的子查询(1...

  • 七、SQL–子查询③(列子查询)

    列值子查询 与标量子查询不同,列值子查询可以返回一个多行多列的结果集。这样的子查询又被称为表子查询,表子查询可以看...

  • MySQL 标量子查询

    MySQL 标量子查询标量子查询是指子查询返回的是单一值的标量,如一个数字或一个字符串,也是子查询中最简单的返回形...

  • 七、SQL–子查询②(单值子查询)

    单值子查询 单值子查询:语法和普通的SELECT语句一样,唯一的限制是子查询的返回值必须只有一行记录,而且只能有一...

  • 使用子查询实现多表检索

    子查询可以返回各种不同类型的信息 标量子查询返回一个值;(最严格的,适用范围也最大) 列子查询返回一个由一个值或多...

  • 2018-03-06SQL查询

    查询某些字段值在或不在某个表的字段中 EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何...

  • Oracle 学习笔记(八)

    子查询 多列子查询 上篇笔记讲的单行子查询是指子查询只返回单列、单行数据;多行子查询是指返回单列多行数据,都是针对...

  • MySQL中EXISTS的用法

    EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False ...

  • 数据库经验之谈

    EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False....

  • Nosql-neo4j-Cypher 语句 (6)

    目录:[TOC] CALL {} (subquery) 执行子查询并返回结果 子查询必须有RETURN 子查询可以...

网友评论

      本文标题:子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、

      本文链接:https://www.haomeiwen.com/subject/seofvdtx.html