SQL Server 2005 将变量设置为选择查询的结果

2023-12-24

如何在不使用存储过程的情况下将变量设置为选择查询的结果?


我想做类似的事情: OO日期日期时间

SET OOdate = Select OO.Date 
FROM OLAP.OutageHours as OO
WHERE OO.OutageID = 1

然后我想在此查询中使用 OOdate:

SELECT COUNT(FF.HALID) from Outages.FaultsInOutages as OFIO
INNER join Faults.Faults as FF ON FF.HALID = OFIO.HALID
WHERE CONVERT(VARCHAR(10),OO.Date,126) = CONVERT(VARCHAR(10),FF.FaultDate,126)) 
AND
OFIO.OutageID = 1

你可以使用类似的东西

SET @cnt = (SELECT COUNT(*) FROM User)

or

SELECT @cnt = (COUNT(*) FROM User)

为此,SELECT 必须返回单个列和单个结果,并且 SELECT 语句必须位于括号中。

Edit: 你尝试过这样的事情吗?

DECLARE @OOdate DATETIME

SET @OOdate = Select OO.Date from OLAP.OutageHours as OO where OO.OutageID = 1

Select COUNT(FF.HALID) 
from Outages.FaultsInOutages as OFIO 
inner join Faults.Faults as FF 
    ON FF.HALID = OFIO.HALID 
WHERE @OODate = FF.FaultDate
    AND OFIO.OutageID = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2005 将变量设置为选择查询的结果 的相关文章

  • 执行计划中是否考虑了功能?

    当查询在 SELECT 或 WHERE 子句中包含 PL SQL 函数 用户定义函数 时 如何生成执行计划 它是否也计算这些函数的成本并将其显示在执行计划中 或者这些函数只是被忽略 在此先感谢您的帮助 用户生成的函数在 SELECT 或 W
  • SQL CASE 语句

    我有以下查询 我想将它们放入 sql CASE 语句中 这样我只有一个查询 但我不知道该怎么做 有人可以帮助我吗 IF SELECT EtlLoadId FROM ssislogs audit processcontrol WHERE Su
  • 我应该在删除数据之前禁用聚集索引吗?

    我知道这已经像任何事情一样被讨论过 但找不到我可以接受的可靠答案 假设我有一个有100亿条记录的表 需要删除where子句中带有标识列的记录 我应该选择哪个选项 选项1 禁用索引 这将节省删除后重新排列索引的开销 但会花费更长的时间来搜索需
  • 带可选参数的 SQL 更新命令?

    我将大约 500 000 个对象插入数据库 其中许多对象是相同的 在数据库中具有相同的主键表示 但其他字段可能不同 因此我使用方法 更新 如果没有行受影响 插入 问题是 有时一个对象的某些字段设置为 null 从文件中无法读取 并且已经在数
  • mssql 的 UUID 疯狂

    我的数据库条目有一个 UUID 及其值 使用 Microsoft SQL Server Management Studio 提取 CDF86F27 AFF4 2E47 BABB 2F46B079E98B 将其加载到我的 Scala 应用程序
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 有向图 SQL

    我有以下数据集 它表示有向图中的节点 CREATE TABLE nodes NODE FROM VARCHAR2 10 NODE TO VARCHAR2 10 INSERT INTO nodes VALUES GT TG INSERT IN
  • 如何在 Windows 7 - 64 位中安装 IBM db2 ODBC 驱动程序?

    我需要从本地 SQL Server 2008 R2 连接到远程 DB2 我不想使用链接服务器 因此 我正在搜索下载并尝试安装 IBM DB2 驱动程序 因为主机集成服务器附带的用于 DB2 的 Microsoft ODBC 驱动程序非常昂贵
  • 将表与同一个表的前一条记录连接起来

    我有一个包含历史记录的表 由主表中的多个触发器发布到那里 我想在历史表上创建一个 select 语句 其中每个记录都由其先前的记录 由相同的 LineID 和最高的 ActionDate 标识 连接 这样我就可以提取这两者之间的差异 我尝试
  • 在两个以上的表上使用内联接删除查询

    我想使用两个以上表上的内联接从表中删除记录 假设我有表 A B C D 其中 A 的 pk 在所有其他提到的表中共享 然后如何编写删除查询以使用表 B 和 A 上的内联接从表 D 中删除记录 因为条件是从这两个表中获取的 我需要从 DB2
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • SQL Server 中不需要的日期时间舍入

    我遇到了一些看起来很奇怪的事情 SQL Server 似乎正在舍入一些DateTime当我将它们保存到时 值不合适datetime列 我怀疑我错过了一些东西 但我找不到它 我正在使用 NET 4 0 针对 SQL Server 2008 运
  • 没有 DateAdd() 的 SSIS 表达式前一个日期

    目前正在开发一个包 它将表达式从先前的日期传递到文件名 我当前的代码如下作为字符串变量 DT WSTR 20 DATEPART YYYY Dateadd DD 1 dateadd MM datediff MM DT DATE 1900 01
  • 使用聚合函数时减少 Athena 扫描的数据量

    以下查询扫描 100 MB 的数据 select from table where column1 val and partition id 20190309 然而 下面的查询扫描了 15 GB 的数据 有超过 90 个分区 select
  • 为什么实体框架 6 在插入后不只选择scope_identity()?

    当您使用 EF 6 1 保存实体时 将生成并执行以下 SQL 代码 exec sp executesql N INSERT dbo Customers Name FirstName VALUES 0 1 SELECT CustomerId
  • SQL限制数据库中的最小值和最大值

    CREATE TABLE TBL CD CDnr int identity 1 1 CDTitel nvarchar 80 NOT NULL CDduur int CDprijs smallmoney 所以我正在创建这个表 有什么方法可以将
  • 在带有循环引用的表中插入 SQL

    我有 2 张桌子 Empleados numEmpl nombre apellido sexo telefono salario numDept Departamentos numDept nombreDept numDirect 在部门中
  • 获取SQL中前2个特殊字符之间的字符

    我有数据在sql 只是要注意 SQL STudio is the IDE like data a 10 b c a 1 b c 我想获取前两个符号之间的数据 Output 10 1 这就是我的方法 SELECT CAST
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 我的数据库有错误

    创建表时如下 create table Ticket ticket id integer not null primary key AirlineName varchar not null CustomerName varchar from

随机推荐