SQL Server 中的 Yield 返回值

2024-02-24

我正在 SQL Server (DWH) 中写下一个视图,用例伪代码是:

-- Do some calculation and generate #Temp1
-- ... contains other selects

-- Select statement 1
SELECT * FROM Foo
JOIN #Temp1 tmp on tmp.ID = Foo.ID
WHERE Foo.Deleted = 1

-- Do some calculation and generate #Temp2
-- ... contains other selects

-- Select statement 2
SELECT * FROM Foo
JOIN #Temp2 tmp on tmp.ID = Foo.ID
WHERE Foo.Deleted = 1

视图的结果应该是:

Select Statement 1
UNION
Select Statement 2

预期行为与yield return在 C# 中。有没有办法告诉视图SELECT语句实际上是结果的一部分,哪些不是?因为我需要的之前的小计算也包含选择。

谢谢你!


C# 中的 Yield return 一次返回一行,就像它们出现在某些基础函数中一样。 SQL语句中不存在这个概念。 SQl 是基于集合的,返回整个结果集,概念上作为一个单元。 (也就是说,有时查询运行缓慢,您会看到行返回缓慢或批量返回。)

您可以使用控制返回的行数TOP(在 SQL Server 中)。您可以使用以下命令选择要返回的特定行WHERE声明。但是,您不能指定UNION有条件地从某些组件返回行但不从其他组件返回行的语句。

您最接近的可能是这样的:

if UseTable1Only = 'Y'
    select *
    from Table1
else if UseTable2Only = 'Y'
    select *
    from Table2
else
    select *
    from table1
    union
    select *
    from table2

您可以使用动态 SQL 来执行类似的操作,方法是将语句构造为字符串,然后执行它。

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

SQL Server 中的 Yield 返回值 的相关文章

  • PostgreSQL:有效地将 JSON 数组拆分为行

    我有一个表 表 A 其中包含一个包含 JSON 编码数据的文本列 JSON 数据始终是一个包含一到几千个普通对象的数组 我有另一个表 表 B 其中有几列 包括数据类型为 JSON 的列 我想从表 A 中选择所有行 将 json 数组拆分为其
  • T-SQL 中是否有 LIKE 语句的替代方案?

    我有一个场景我需要执行以下操作 SELECT FROM dbo MyTable WHERE Url LIKE
  • 如何使用内联 SQL 参数化 IN 语句的集合? [复制]

    这个问题在这里已经有答案了 可能的重复 参数化 SQL IN 子句 https stackoverflow com questions 337704 parameterizing a sql in clause 你好 我有一个查询 如下所示
  • SQL Server 返回了不完整的响应。连接已关闭。;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException:

    我们正在将 Spring Batch 应用程序从 Oracle DB 迁移到 Azure SQL Server 该应用程序运行几个小时50线程 下面是我的 JDBC 配置 MSSQL DRIVERCLASSNAME com microsof
  • 选定的非聚合值必须是关联组的一部分

    我在 Teradata 中有两个表 Table A 和 Table B 它们之间是 LEFT JOIN 之后我将创建 SELECT 语句 其中包含两个表中的属性 SELECT attribute 1 attribute 2 attribut
  • 字符串文字上的 SQL Server T-SQL N 前缀[重复]

    这个问题在这里已经有答案了 这可能是一个菜鸟问题 但我发现了一些 T SQL 查询示例来验证数据库大小SELECT and WHERE clause here http technet microsoft com en us library
  • 对带有空白 NVARCHAR 或 NULL 检查的 VARCHAR 索引进行 Count(*) 会导致返回的行数加倍

    我有一张桌子 上面有VARCHAR列及其上的索引 每当一个SELECT COUNT 是在这张表上完成的 该表检查了COLUMN N OR COLUMN IS NULL它返回双倍的行数 SELECT 与相同的where子句将返回正确的记录数
  • 交换 ms-sql 表

    我想以尽可能最好的方式交换到桌子 我有一个 IpToCountry 表 并根据导入的外部 CSV 文件每周创建一个新表 我发现进行切换的最快方法是执行以下操作 sp rename IpToCountry IpToCountryOld go
  • SELECT DISTINCT HAVING 计算唯一条件

    我已经搜索过这个问题的答案 但找不到如何根据条件获取这个不同的记录集 我有一个包含以下示例数据的表 Type Color Location Supplier Apple Green New York ABC Apple Green New
  • 存储过程总是返回0

    我试图从存储过程获取返回值 但它总是返回 0 c code cmd new SqlCommand cmd CommandType CommandType StoredProcedure cmd CommandText AbsentEntry
  • 如何将列中的天数添加到 DB2 中的当前日期?

    我正在编写此 SQL 来动态计算一定的天数 如下所示 但我不知道如何让它工作 因为我不断收到错误 select Current Date Dynamic numbr of days calculation here from TableNa
  • 无重复组合的交叉连接

    我知道这个问题与这个问题非常相似 对称交叉连接 https stackoverflow com questions 12490244 symmetric cross join还有这个 sql 中交叉连接的组合 不是排列 https stac
  • db2中如何删除所有非数字字母

    我在 DATA 列 varchar 中有一些数据 如下所示 Nowshak 7 485 m Maja e Korabit Golem Korab 2 764 m Tahat 3 003 m Morro de Moco 2 620 m Cer
  • 从每个子集中选择最大值

    我在这里敲头 我觉得自己很愚蠢 因为我确信我以前做过类似的事情 但我一辈子都不记得是怎么做的 我想那一天 gt 假设我有以下数据 gt 和一个返回此数据的查询 gt 但我想要这个 ID FirstID ID FirstID ID First
  • 如何在 SQL Server 中创建文件格式

    我正在尝试在 SQL Server 2017 中试验外部文件 但在第一步中遇到了困难 数据是管道分隔的 我试图遵循文档中的语法 这需要一个FILE FORMAT 以下是 Microsoft 的语法 CREATE EXTERNAL TABLE
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman
  • 通过Java从MySQL中获取大量记录

    有一个 MySQL 表 服务器上的用户 它有 28 行和 100 万条记录 也可能会增加 我想从这个表中获取所有行 对它们进行一些操作 然后将它们添加到 MongoDB 中 我知道通过简单的 从用户中选择 操作来检索这些记录将花费大量时间
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字

随机推荐

  • 对 Xamarin.iOS Storyboard 的 MVVMCross 支持

    由于支持即将制作稳定流的 iOS 故事板的 XS 集成 我希望能够将此功能与 MVVMCross 结合使用 从根本上来说 它似乎确实有点不应该工作 因为故事板指示视图项目中的导航层次结构 而不是像 MVVMCross 这样的视图模型项目 但
  • Jackson 从 Class 创建 JavaType

    必须有一种方法来创建JavaType from String class 注意 方法的输入must be JavaType对于我的用例 因为该值是使用动态创建的TypeFactory Returns a JavaType for Map
  • 如何使用 C# 在代码中进行数据绑定?

    我打算在我的几个类之间使用数据绑定 换句话说 我不是在模型类和 UI 之间绑定值 而是在不同类之间绑定变量 我在多个地方读到过有关 C 中的数据绑定的内容 但大多数都是指 Windows 窗体和源对象之间的绑定 我还是 C 新手 这就是我理
  • jpGraph 的替代方案

    这是我第一次使用 php 生成图表 你知道 jpGraph 有什么替代品吗 排名不分先后 这里有一些 PHP 图表库 图表总监 http www advsofteng com cdphp html 石墨矿 http graphpite so
  • Firebase 安全规则:公共数据与私有数据

    我有一个签名集合 其中每个签名都有一些属性 公共 全名 城市 然后是电子邮件 我想保持电子邮件属性的私密性 并且我一直在努力编写正确的规则以仅返回全名和城市 这是我的rules json 到目前为止的样子 rules signatures
  • 在 Coq 中证明可逆列表是回文

    这是我对回文的归纳定义 Inductive pal X Type list X gt Prop pal0 pal pal1 forall x X pal x pal2 forall x X l list X pal l gt pal x l
  • 默默地从Python字典中删除键[重复]

    这个问题在这里已经有答案了 我有一个 python 字典 我想默默地删除其中一个None and 我的字典中的键所以我想出了这样的东西 try del my dict None except KeyError pass try del my
  • 无法检索运营商名称

    使用iPhone6 Xcode 8 1 运行iOS 10 1 1 执行以下命令 我不断收到 Swift 代码 无法检索运营商名称 错误消息出现在我的第一个消息之前ViewController甚至负载 我搜索了类似 但不相同 的解决方案Car
  • web.xml 过滤器映射不转发到 struts

    我正在尝试做一些微不足道的事情 但看不到我错过了什么 我有以下 web xml
  • 获取 RibbonControlsLibrary.Aero2 的 FileNotFoundException

    我最近在尝试运行使用 WPF 功能区的项目时开始收到此错误 它之前一直在这台机器上运行 但由于某种原因现在不能运行 图书馆来自here http www microsoft com en us download details aspx i
  • Python网络抓取:睡眠和请求之间的区别(页面,超时= x)

    当循环抓取多个网站时 我注意到之间的速度存在相当大的差异 sleep 10 response requests get url and response requests get url timeout 10 那是 timeout速度要快得
  • 带有两个提交按钮的 Django 表单。 。 。一个需要字段,一个不需要

    我认为这应该是一个相当简单的问题 我有一个 Django 表单 其中有两个不同的提交按钮 第一个提交按钮仅用于将在表单字段中输入的任何值保存到数据库 以便用户可以根据需要返回并稍后完成表单 我希望单击第一个提交按钮时不需要表单字段 但是 当
  • Windows 7,64 位,DLL 问题

    我的可执行文件有问题 我在 Windows 7 64 位开发盒上运行这个 C 32 位可执行文件 该开发盒还包含所有这些 Microsoft 应用程序 Visual Studio 2008 2010 TFS SDK Microsoft Of
  • 当我添加服务引用时,为什么 VS2010 RC 不使用我现有的类型?

    我在 VS2010 RC 中获取服务引用以使用现有程序集时遇到了很大的问题 即使我有一个类库 其中包含在服务项目和使用项目 这是一个类库 之间共享的所有数据协定 用 DataContract 标记的类和用 DataMember 标记的属性
  • Asan:asan 库加载问题

    在我们的构建系统中 我们最近将 ASAN 工具 添加 fsanitize address 集成到 CFLAGS 中 并且同时链接 创建库 so 文件 注意 我们使用 GCC 6 3 编译器 我们能够成功构建我们的代码 但在运行时失败并出现以
  • 希伯来语 Google 地图 api

    我正在为以色列开发谷歌地图应用程序 但我不知道使用希伯来语名称地址进行地理编码未找到地址位置 我真的需要帮助我应该做什么才能得到它 与curl相关的问题仍然存在 使用浏览器 我得到状态为 正常 的响应 但是使用带有错误请求的curl goo
  • 如何为 buildSrc 和应用程序模块定义 Kotlin 版本?

    我正在使用一个buildSrc多模块 Kotlin 项目中的模块管理依赖项定义和版本 https handstandsam com 2018 02 11 kotlin buildsrc for better gradle dependenc
  • 导出邮递员中的所有集合

    我有多个收藏品的邮递员 我可以一项一项地导出 但我没有找到任何按原样导出全部的选项 在进入团队模式时也是如此 是否可以选择将我的所有收藏导出给其他用户 您可以将所有 API 集合 环境 全局和标头预设导出到单个数据转储 zip 文件 要打开
  • 错误:获取远程存储库“origin”时出错返回状态代码 143

    我有詹金斯版本 2 32 1 安装在我的 iMac 上 我已经为我的项目设置了 git 存储库 并提供了我的凭据 注意 存储库是私有的 当从 Windows 克隆存储库时 它工作正常 但是当从 iMac 克隆相同的存储库时 它会给出以下日志
  • SQL Server 中的 Yield 返回值

    我正在 SQL Server DWH 中写下一个视图 用例伪代码是 Do some calculation and generate Temp1 contains other selects Select statement 1 SELEC