问题标签 [table-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

sql - 如何循环表变​​量以进行特定计算?

如果我有一个像这样的表变量,如何循环这个变量来进行一些处理:


根据评论整个案例:

如果工作开始于 :att_start_time结束于att_end_time(work period]

每个员工都可以在同一日期多次入住和退房,以便我们跟踪他。签入存储在transtime_in 和签出存储在transtime_out

我有day_flag,所以我可以知道这一天是“W”工作日还是“E”周末

现在考虑所有这些信息,除了emp_num ,date

我想为员工计算External mission over time

我有四种情况:

  1. No check-in-out && Not work day [周末] 所以员工应该把所有的任务时间都当作加班
  2. 没有签到&&工作日[缺席],所以员工应该只把任务期从工作期中拿出来
  3. 有签到&& 非工作日 [周末],因此员工应仅从这些签到中取出任务期间
  4. 有签出和工作日,因此员工应仅在这些签出和工作期间以外的任务期间进行。

例子 :


0 投票
1 回答
150 浏览

sql-server - 表表达式和表变量/临时表持久化

据我了解,表表达式不会持续存在,这意味着外部代码中对它的每次引用都是对定义的重复调用。这是表变量/临时表进入图片的地方,以持久化表并避免每次重新评估。在我看来,表变量/临时表是避免重复的更好选择。我对编程做了一个比喻,而不是调用方法

每次,我宁愿为它分配一个变量

避免多次调用 myMethod() 。myMethod()类似于表表达式, res 是表变量/临时表。

那么我们为什么要使用表表达式呢?在哪些场景中我们必须使用表表达式而不是其他两个?反之亦然?

谢谢你。

0 投票
1 回答
1281 浏览

sql-server - 用 varchar 替换表变量的动态 SQL

我对动态 SQL 和一般的 SQL Server 还是很陌生,但我想在information_schema.tables. 每次迭代都有一个变量列出要在表名 ( )varchar中搜索的月份-年份。where table_name like concat('USA_RETHHDs_%', @Month)

然后将具有匹配日期的每个表放入一个varchar变量中。问题是,我想table从列表中获取变量information_schema.tables,但不确定如何做到这一点。结果,我试图走动态路线,将varchar变量嵌入到动态 SQL 查询中。但是,它需要一个table变量而不是一个varchar.

0 投票
1 回答
955 浏览

temp-tables - memsql does not support temporary table or table variable?

Tried to create temp table in Memsql: Create temporary table ppl_in_grp as select pid from h_groupings where dt= '2014-10-05' and location = 'Seattle'

Got this error: Feature 'TEMPORARY tables' is not supported by MemSQL.

Is there any equivalence I can use instead? Thanks!

0 投票
1 回答
8900 浏览

common-table-expression - CTE,Temp table and table variable

Can any one please tell me where to use CTE, temp table and table variable?

I read about their differences but i'm confused with their usage. please help.

Thanks.

0 投票
0 回答
53 浏览

sql-server - SQL 2012 查询输出到“表”列

我有 SQL 查询的原型(实际查询太大而无法发布)

那输出

如何创建将输出站点的查询,以及RISK STATISTICS具有表的列,即

@sean-lange 我正在尝试创建一个平面 excel 文件以在Tableau中输入。每个站点都将绘制在地图上,如果有任何风险,悬停将详细说明这些风险。

一个站点可能有零到多个风险,因此需要具有table值的列,即具有数组值的列。

0 投票
2 回答
10025 浏览

sql - 如何将查询到的 CTE 输出保存到临时表或表变量中

我有一个CTE并查询这个

现在我尝试将此结果保存到table variableortemporary table中。如果我尝试

我得到一个incorrect syntax error周围的WITH声明。我猜该Insert Into命令需要 aSelect statement而不是 a ;WITH,对于Create Table. 我一直在寻找解决方案,但我发现Select Statement的一切都不涉及;With. 如何将上面显示的输出转换为temporary tableor table variable

我使用 SQL Server 2014。

0 投票
2 回答
4929 浏览

sql-server - 如何在 SQL Server 中的 UPDATE 查询的子查询中引用表变量

我在一个存储过程中有一个 UPDATE 查询,我需要在其中更新一个已经被一些数据填充的表变量。由于在子查询中引用表变量(即在子查询中被引用),该查询(如下面的代码)给出了错误@daysPerEmail.ProductId。我尝试使用表变量的别名,如 in UPDATE @daysPerEmail d SET LastEmailDate...,但没有帮助。

问题:如何重新编写查询,以便在子查询中正确引用 ProductId 的表变量列?

更新 1

为了在 SSMS 中重现这一点,我使用以下查询。SSMS 给出错误提示Must declare the scalar variable "@daysPerEmail".

更新 2

Paolo 的回答按预期工作,但我还找到了另一个使用查询的简单解决方案,如下所示。我所要做的就是为 @daysPerEmail 表变量中的 ProductId 列提供一个唯一的名称。我将名称更改为 ProdId,它在 UPDATE 查询涉及的任何表中都不存在。然后我不必在子查询中引用表变量,因为 ProdId 列名仅在 UPDATE 查询中使用的表中的 @daysPerEmail 表变量中找到。

0 投票
0 回答
51 浏览

sql-server - 检查两列不匹配的 TSQL Case 语句不适用于第二列

这让我很困惑。我正在尝试使用 case 语句创建一个返回 1 或 0 的列,具体取决于搜索医院站点/病房的两列是否不在表/变量中的值列表中,如果两列表示是否出于某种原因取消了前往所述医院地点/病房的旅程。此计数列称为 [Journeys Other],因为它代表发生在除其他 4 个特定站点之一之外的任何地方的所有救护车旅程。这就是为什么下面的案例声明要求它检查不在预定义列表中的任何医院和站点。

问题是; 查询没有按照我对第二列的要求进行;[来自医院的文字]。它在与预定义列表中的条目匹配的计数列中返回 1。它适用于第一列 [Requestee Name],因为没有匹配项。但是第二列搜索也可能不存在。它快把我逼疯了。

我已经从更大的主要查询中提取了它,以显示我到目前为止所做的事情;

因此,当我运行它时,由 case 语句创建的 [Journeys Other] 列对不符合条件的行有一个 1。

以下是一些示例行;

所有这些行在我的表变量的医院/站点列表中的 [From hospital text] 中都有一个医院/站点。由于与该列匹配,因此应根据 case 语句的 ELSE 条件将它们标记为 0。

如果它很重要;表变量中的值比我在几行结果中展示的要多得多,其中一些被查询正确拾取并在匹配的地方标记为零,所以它似乎完全被命中和错过. 唯一始终正确的行是匹配发生在 [Requestee Name] 中的位置,然后第二个 AND 条件为真或不为真(合并在一起时为 NULL 或 NOT NULL。)它必须考虑 BOTH 列中的值的那一刻,它并不总是适用于两者中的第二个。

我一生都无法弄清楚为什么在将表变量与 [From hospital text] 列进行比较时,case 语句的行为不符合预期。任何建议将不胜感激!!

0 投票
2 回答
2890 浏览

r - RODBC 命令“sqlQuery”在 t-SQL 中存在表变量问题

我正在使用我在 Microsoft SQL Server 2012 上应用的 RODBC 包。

现在我发现了一个令我困惑的现象。

如果我使用 RODBC 命令 sqlQuery 运行以下查询,那么在 R 中,我将返回一个包含 Country、CID、PriceID 和 WindID 列的空数据框。

到目前为止,一切都很好。

但是,如果我尝试将记录写入表变量并执行

然后,在 R 中,结果将是一个空字符,而不是具有一条记录的数据框。同样的查询仍然可以完美地与 SQL Server Management Studio 配合使用。此外,我们在执行 R-Query 时跟踪了 DB 服务器的行为,似乎服务器完美地处理了它。似乎是 RODBC 接口有问题将结果返回到 R 控制台。

有谁知道如何解决这个问题?