问题标签 [stuff]

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 回答
61 浏览

sql-server - 使用 STUFF 连接逗号分隔的字符串

我想连接逗号分隔的字符串。我有一个查询,我在哪里使用该功能来获取员工。

目前,我使用) 作为员工来获取员工,但如果计数大于 1 [dbo].fn_fullname(A.REFNO,我想包含一些条件,然后连接该值。cast(S.SCH_NO as varchar) as ReferenceIdentifier但不确定如何在视图本身内部实现。

在这里,我尝试使用STUFF连接。

这是查询:

这里的功能:

以下是样本数据

唯一键 数字 参考标识符 开始日期时间 职员
70DB83D1-2900-4CF1-9CC4-CA6948AC0E91 A4286 2182823 2015-03-26 08:00:00.0000000 小号泰勒女士
310745CB-4724-4724-A5F0-7D9088317E58 A4286 2182823 2015-03-26 08:00:00.0000000 MS D柯克帕特里克
CA6DDB25-AADD-4FC1-ABAA-2AF84016E6E5 A4286 2182834 2015-03-19 08:00:00.0000000 MS D柯克帕特里克
6A3C0A3B-EAA3-4523-B4FD-2882E2C02B4A A4286 2182844 2015-03-30 08:00:00.0000000 内尔·麦金农夫人
6399662A-EC4D-4993-8D4F-0BC396D12C2C A4286 2182844 2015-03-30 08:00:00.0000000 德布·柯克帕特里克女士

预期产出

唯一键 数字 参考标识符 开始日期时间 职员
70DB83D1-2900-4CF1-9CC4-CA6948AC0E91 A4286 2182823 2015-03-26 08:00:00.0000000 S泰勒女士,D柯克帕特里克女士
CA6DDB25-AADD-4FC1-ABAA-2AF84016E6E5 A4286 2182834 2015-03-19 08:00:00.0000000 MS D柯克帕特里克
6A3C0A3B-EAA3-4523-B4FD-2882E2C02B4A A4286 2182844 2015-03-30 08:00:00.0000000 Nel McKinnon 夫人,Deb Kirkpatrick 女士
0 投票
2 回答
57 浏览

sql-server - SQL SERVER:连接 XML 列的节点值

我有下表包含一个 XML 列:

ID 标签 细节
1 测试1 <terms><destination><email>email11@foo.com</email><email>email12@foo.com</email></destination><content>blabla</content></terms>
2 测试2 <terms><destination><email>email21@foo.com</email><email>email22@foo.com</email></destination><content>blabla</content></terms>

我想要一个产生以下输出的查询:

ID 标签 目的地
1 测试1 email11@foo.com, email12@foo.com
2 测试2 email21@foo.com, email22@foo.com

关于如何将 XML 电子邮件节点值连接为相关列(Id 和 Label)的列的任何线索?提前谢谢

0 投票
2 回答
1013 浏览

sql-server - 如何使用“Stuff and 'For Xml Path'”来合并表格中的行

请帮助我在表格中获取用逗号分隔的统一行和帐户列表。我不太明白如何使用“Stuff and 'For Xml Path'”。

这是我的查询:

这就是我得到的结果:

发票 总和 帐户
ty20210110 200 1001,1002,1003,1004
ty20210110 240 1001,1002,1003,1004
ty20210110 250 1001,1002,1003,1004
ty20210110 300 1001,1002,1003,1004
ty20210110 400 1001,1002,1003,1004
ty20210114 300 1001,1002,1003,1004
ty20210114 400 1001,1002,1003,1004
ty20210114 500 1001,1002,1003,1004

这是我需要得到的结果:

发票 总和 帐户
ty20210110 1390 1001,1002
ty20210114 1200 1003,1004

所以实际上我需要获取 2 张不同发票的总和,并用逗号指定这些发票所涉及的帐户。

在 dbfiddle 也有这些东西:https ://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=7a5de9e680693b5e70ea68cecebef6cc

提前谢谢你们。

0 投票
1 回答
128 浏览

sql-server - “Stuff and 'For Xml Path'”或 UNION 排除重复行

这是问题的进一步进展:how to use "Stuff and 'For Xml Path'" to unity rows in table

我有 3 个表格 - 发票、职位和帐户,它们通过 SELECT 构建公共表格,如下面的结果所示。我需要排除由于相同发票的不同帐户而出现的重复行。我认为它可以通过“Stuff and 'For Xml Path'”和/或 UNION 来解决,但我真的不知道该怎么做。

请协助解决这个问题。先感谢您。

这是带有 DL 和样本数据填充的 dbfiddle:https ://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=6401c2886a24b21239dade27e8c549ec

使用基于 SQL Server 2016 的 DevExpress 仪表板设计器。

询问:

结果:

位置 数量 价格 总和 发票 帐户
p1000001 2 100 200 在20210110 3
p1000001 2 100 200 在20210110 5
p1000002 3 100 300 在20210111 1
p1000002 3 100 300 在20210111 2
p1000003 1 250 250 在20210111 1
p1000003 1 250 250 在20210111 2
p1000004 2 120 240 在20210110 3
p1000004 2 120 240 在20210110 5
p1000005 4 100 400 在20210110 3
p1000005 4 100 400 在20210110 5
p1000006 3 100 300 在20210110 3
p1000006 3 100 300 在20210110 5
p1000007 5 80 400 在20210112 4
p1000007 5 80 400 在20210112 6
p1000008 5 100 500 在20210112 4
p1000008 5 100 500 在20210112 6

所需结果 1:

位置 数量 价格 总和 发票 帐户
p1000001 2 100 200 在20210110 3、5
p1000004 2 120 240 在20210110 3、5
p1000005 4 100 400 在20210110 3、5
p1000006 3 100 300 在20210110 3、5
p1000002 3 100 300 在20210111 1, 2
p1000003 1 250 250 在20210111 1, 2
p1000007 5 80 400 在20210112 4、6
p1000008 5 100 500 在20210112 4、6

所需结果 2:

位置 数量 价格 总和 发票 账户 1 账户 2
p1000001 2 100 200 在20210110 3 5
p1000004 2 120 240 在20210110 3 5
p1000005 4 100 400 在20210110 3 5
p1000006 3 100 300 在20210110 3 5
p1000002 3 100 300 在20210111 1 2
p1000003 1 250 250 在20210111 1 2
p1000007 5 80 400 在20210112 4 6
p1000008 5 100 500 在20210112 4 6
0 投票
1 回答
27 浏览

bash - 使用“screen stuff”命令时按空格键的符号是什么?

我有一个这样的屏幕命令..

screen -S sessionname -X stuff 'spacebar'

我想用适当的符号替换“空格键”以模拟空格键按下。我还想知道箭头的符号是什么。多次搜索后我找不到参考。

0 投票
2 回答
99 浏览

sql - SQL Server 2016:将 FOR XML 和 STUFF 用于多连接查询

我为报告目的进行了查询,以列出尚未提交季度报告的雇主并列出尚未提交的季度。这是我的查询:

以下是查询结果:

我想要的是将 QId 列合并为每个 EmployerId 的一行,如下所示:

我正在使用 Sql Server 2016,所以很遗憾我无法利用string_agg()并且必须使用FOR XMLstuff(). 我不确定如何stuff()在具有多个连接的查询上使用。任何帮助表示赞赏。

0 投票
1 回答
34 浏览

sql - 我怎样才能避免多次使用 xml 路径的东西?

我在使用 sql 查询时遇到问题。我要做的是获取商店列表,其中包含分配给用户的任务。用用户名分隔列中的每个角色。我正在使用 STUFF 来获取连接行,但对于表中的 100K+ 行来说,这似乎是个坏主意。

这是简化的结构:

用户表

任务表

选择

结果

在此处输入图像描述

问题是当表填充越来越多时,选择变得越来越慢,因为每个 STUFF 都是另一个嵌套循环。如果我需要在这个选择中添加一些“角色”,我必须添加另一个东西,如下所示:

问题是我可以避免使用这个多个 STUFF 函数吗?或者我可能需要在表任务上创建非聚集索引?也许每个角色都有过滤索引?提前致谢!

编辑:我正在使用 MSSQL 2016。

正如 Gordon Linoff 建议的那样,我已将 Select 从 Distinct 更改为 Group By,如下所示:

执行时间从 20 秒减少到 2 秒。所以问题不在于 Stuff,而在于 Distinct。

0 投票
3 回答
65 浏览

sql-server - T-SQL - 使用 STUFF 连接分组列并删除重复项

我有一个看起来像这样的表:

在此处输入图像描述

下面显示的我的 SQL 语句采用上面的数据并使用逗号作为分隔符连接“订阅类型”:

运行此 SQL 会产生以下输出:

在此处输入图像描述

但是请注意,MarketingEmail它列出了两次,因为源表也列出了两次(第 1 行和第 2 行)。我需要省略检测到的任何重复项,以便生成的表如下所示:

在此处输入图像描述

我对STUFF关键字很陌生。我只是有点迷失如何在运行时检测重复项 - 任何建议都值得赞赏。谢谢

0 投票
1 回答
112 浏览

concatenation - SQL 查询按时间分组并汇总和连接字符串值

我正在尝试从两个表之间的一组时间和天数中获取特定格式。

数据库:MeetingTime 表具有从 MeetingTime.DayOfWeekId(外键)到表 DayOfWeek.Id(主键)的关系。示例查询:

结果:

在此处输入图像描述

我对这组数据的期望结果将是一行,因为开始时间和结束时间是相同的。

09:00-15:35 M/T/W/Th/F

注意,上面的开始和结束时间可以是上面的单独列,主要目标是显示每个分组时间的星期几。

猴子扳手是时代可以完全不同或相同。例如这个数据集: 在此处输入图像描述

我希望显示为 2 行:

07:35-14:15 M/T/W

08:00-14:15 周四

最后,这个数据集的所有时间都不同:

在此处输入图像描述

将显示为 5 行:

13:48-14:48 米

15:48-16:48 时间

05:49-23:53 西

14:49-16:49

13:49-16:49 楼

我在分组时间方面没有取得多大成功。我确实想出了如何使用“Stuff”运算符将一周中的天数串联到一列中,但是在开始和结束时间的分组以及这一点上还没有得到任何结果。

连接和汇总天数:

我也不反对只返回行并在 C# 代码中处理数据操作,而是想看看 SQL 是否可以处理它。

0 投票
0 回答
51 浏览

c++ - 添加函数以使用重命名文件后,程序将不再找到文本字符串

好吧,标题可能有点模糊。老实说,我什至不知道如何表达这个问题。

程序尝试在文件中查找文本字符串,然后打印该字符串所在的整行。

在测试时,我创建了一个文件,其中包含我想要查找的字符串作为文件的唯一内容:

当我使用此配置时,程序会按预期查找"string"和输出 。[TEMPORARY]string[TEST]

但是,此布局仅用于测试,因此在确认它有效后,我想测试重命名我实际使用的文件以找到相同的字符串。

我复制了该文件,并编写了一个程序将其重命名为文本文件,以便更容易阅读:

如果更改ldbtxt是一个愚蠢的想法并且行不通,请告诉我任何解决方法。

在我这样做之后,程序找不到字符串。用记事本打开文件作为ldbtxt显示字符串存在。

程序输出"I couldn't find it, sorry.\n".

老实说,我认为它与文件转换有关,因为它适用于在程序本身中创建的文本文件,但我认为那里没有太大的回旋余地。

当我在程序失败后在文本编辑器中打开新的文本文件时,它工作得很好。


编辑:

经过进一步测试,这可能是情境性的。我创建了一个ldb包含字符串的示例文件,它工作正常。我试着把它推到底部,它奏效了。我试过原始文件,它没有。它实际上可能只是无法打印文件中的某些字符。这可能需要非常复杂的解决方法,甚至可能是不可能的;或者,它可能很简单……我不知道。我将进行进一步的测试,如果我解决了问题,我将关闭问题。

它也不会保存到文档中,因此它一定是if语句中的问题。


EDIT2:更新的代码,仍然无法正常工作。进一步的测试得出结论,源文件的方式可能有问题......嗯......是。它可能太长,可能太复杂,可能不可能。我对此感到非常困惑。该代码在任何其他情况下都可以正常工作,因此,如果您需要类似的东西,请随时抓住并使用它,同时我尝试使其满足我的需要。

哦,是的,谢谢你的格式,凯西。