问题标签 [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.
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 女士 |
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)的列的任何线索?提前谢谢
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
提前谢谢你们。
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 |
bash - 使用“screen stuff”命令时按空格键的符号是什么?
我有一个这样的屏幕命令..
screen -S sessionname -X stuff 'spacebar'
我想用适当的符号替换“空格键”以模拟空格键按下。我还想知道箭头的符号是什么。多次搜索后我找不到参考。
sql - SQL Server 2016:将 FOR XML 和 STUFF 用于多连接查询
我为报告目的进行了查询,以列出尚未提交季度报告的雇主并列出尚未提交的季度。这是我的查询:
以下是查询结果:
我想要的是将 QId 列合并为每个 EmployerId 的一行,如下所示:
我正在使用 Sql Server 2016,所以很遗憾我无法利用string_agg()
并且必须使用FOR XML
和stuff()
. 我不确定如何stuff()
在具有多个连接的查询上使用。任何帮助表示赞赏。
sql - 我怎样才能避免多次使用 xml 路径的东西?
我在使用 sql 查询时遇到问题。我要做的是获取商店列表,其中包含分配给用户的任务。用用户名分隔列中的每个角色。我正在使用 STUFF 来获取连接行,但对于表中的 100K+ 行来说,这似乎是个坏主意。
这是简化的结构:
用户表
任务表
选择
结果
问题是当表填充越来越多时,选择变得越来越慢,因为每个 STUFF 都是另一个嵌套循环。如果我需要在这个选择中添加一些“角色”,我必须添加另一个东西,如下所示:
问题是我可以避免使用这个多个 STUFF 函数吗?或者我可能需要在表任务上创建非聚集索引?也许每个角色都有过滤索引?提前致谢!
编辑:我正在使用 MSSQL 2016。
正如 Gordon Linoff 建议的那样,我已将 Select 从 Distinct 更改为 Group By,如下所示:
执行时间从 20 秒减少到 2 秒。所以问题不在于 Stuff,而在于 Distinct。
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 是否可以处理它。
c++ - 添加函数以使用重命名文件后,程序将不再找到文本字符串
好吧,标题可能有点模糊。老实说,我什至不知道如何表达这个问题。
程序尝试在文件中查找文本字符串,然后打印该字符串所在的整行。
在测试时,我创建了一个文件,其中包含我想要查找的字符串作为文件的唯一内容:
当我使用此配置时,程序会按预期查找"string"
和输出
。[TEMPORARY]string[TEST]
但是,此布局仅用于测试,因此在确认它有效后,我想测试重命名我实际使用的文件以找到相同的字符串。
我复制了该文件,并编写了一个程序将其重命名为文本文件,以便更容易阅读:
如果更改ldb
为txt
是一个愚蠢的想法并且行不通,请告诉我任何解决方法。
在我这样做之后,程序找不到字符串。用记事本打开文件作为ldb
或txt
显示字符串存在。
程序输出"I couldn't find it, sorry.\n"
.
老实说,我认为它与文件转换有关,因为它适用于在程序本身中创建的文本文件,但我认为那里没有太大的回旋余地。
当我在程序失败后在文本编辑器中打开新的文本文件时,它工作得很好。
编辑:
经过进一步测试,这可能是情境性的。我创建了一个ldb
包含字符串的示例文件,它工作正常。我试着把它推到底部,它奏效了。我试过原始文件,它没有。它实际上可能只是无法打印文件中的某些字符。这可能需要非常复杂的解决方法,甚至可能是不可能的;或者,它可能很简单……我不知道。我将进行进一步的测试,如果我解决了问题,我将关闭问题。
它也不会保存到文档中,因此它一定是if
语句中的问题。
EDIT2:更新的代码,仍然无法正常工作。进一步的测试得出结论,源文件的方式可能有问题......嗯......是。它可能太长,可能太复杂,可能不可能。我对此感到非常困惑。该代码在任何其他情况下都可以正常工作,因此,如果您需要类似的东西,请随时抓住并使用它,同时我尝试使其满足我的需要。
哦,是的,谢谢你的格式,凯西。